[PERL] Comparaison de 2 tableaux
Il peut arriver d’avoir besoin de comparer 2 tableaux à l’image du diff utilisé habituellement en shell.
En perl, il est possible d’utiliser le package suivant : Array::Diff ;
L’installation de ce package sous Debian s’effectue de la façon suivante :
apt-get install libarray-diff-perl
Voici un exemple d’utilisation :
#!/usr/bin/perl -w
use strict;
use Array::Diff;
my @tab1=("eric","toto","sammy","mistigri","fish");
my @tab2=("eric","sammy","mistigri","fish");
my $diff = Array::Diff->diff( \@tab1, \@tab2);
print "Nombre d'éléments différents : ".$diff->count."\n";
my @manquant = @{$diff->deleted()};
print "\nSuppression\n";
foreach my $valeur (@manquant)
{
print $valeur."\n";
}
$diff = Array::Diff->diff( \@tab2, \@tab1);
print "\nNombre d'éléments différents : ".$diff->count."\n";
my @ajout = @{$diff->added()};
print "\nAjout\n";
foreach my $valeur (@ajout)
{
print $valeur."\n";
}
ce qui nous donne le résultat suivant :
Nombre d'éléments différents : 1
Suppression
toto
Nombre d'éléments différents : 1
Ajout
toto
Accueil > Notes Techniques > PERL > [PERL] Comparaison de 2 tableaux