Bonjour;

J'ai deux arrays dont l'une contient une sous partie des éléments de la seconde. J'aimerais connaitre les éléments n'étant pas commun aux deux arrays.

my @AccReq = ('AF148850','AF148851','AZERTY','X55640');
my @AccTrouves = ('AF148850','AF148851','X55640');


J'aimerais savoir que AZERTY ne se trouve pas dans ma seconde array.
Le programme que j'ai écrit fonctionne bien mais j'aimerais savoir si il n'existe pas une fonction prédéfinie en perl ou une meilleure façon de procéder.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
 
my @AccReq = ('AF148850','AF148851','AZERTY','X55640');
my @AccTrouves = ('AF148850','AF148851','X55640');
my $NombreAccDemandes = @AccReq;
my $NombreAccTrouves = @AccTrouves;
 
 
for (my $e=0; $e<$NombreAccDemandes; $e++)
{
        my $Compteur=0;
        for(my $z=0; $z<$NombreAccTrouves; $z++)
        {
                if  ($AccTrouves[$z] eq $AccReq[$e])
                {
                        print "$AccTrouves[$z] =>  trouvé\n";
                        $Compteur =1;
                }
        }
        if ($Compteur == 0)
        {
                print "$AccReq[$e] =>  Non trouvé\n";
        }
 
}
Résultat obtenu (et voulu)

AF148850 => trouvé
AF148851 => trouvé
AZERTY => Non trouvé
X55640 => trouvé


Merci,


Jasmine,