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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
#!/usr/bin/perl
use strict; #ça fait joli de travailler en strict :p
use warnings;
#le module qui va nous faciliter la vie
#à installer si ce n'est pas fait : sudo perl -MCPAN -e 'install List::Compare'
use List::Compare;
#on ouvre le premier fichier en une liste
open (M, "fichier2") or die ('je ne trouve pas le fichier listemotifs');
my @fichier2 = <M>;
chomp(@fichier2);
close M;
#print join (" : ", @fichier2);
#de même pour le second fichier
open (L, "fichier1") or die ('je ne trouve pas le fichier lignes');
my @fichier1 = ();
while(my $fichier=<L>){ #on va procéder ligne par ligne
my @fichier1 = split('\s',$ligne); #split sur deux selon \s "space"
push(@fichier1, @fichier1); #construction du tableau
chomp(@fichier1); #supression des retours de chariot.
#print join (" : ", @fichier1);
}
close L;
#on commence la comparaison
y $com = List::Compare->new( {
lists => [\@listemotifs, \@lignes],
unsorted => 1, #pour ne pas changer l'ordre
} );
#ceux qui sont dans les deux listes :
my @trouve = $com->get_intersection;
#ceux qui sont dans la première liste uniquement:
my @nontrouve = $com->get_unique;
...... |
Partager