pospos | qu'appel tu une entrée? une ligne?
si c'est el cas alors tu peux mettre toutes les entrée de SUPP dans une hash, puis parcourir ALL et mettre toutes les entrée que tu ne trouve pas dans cette hash dans un tableau, puis ecrire ce tableau dans un nouveau fichier (ou dans ALL que tu réouvre)
ca donne en gros ca:
Code :
- my %deleted;
- open(IN, '<', 'SUPP') || die $!;
- while(<IN> ) {
- $deleted{$_} = 1
- }
- close IN;
- my @keep;
- open(IN, '<', 'ALL.txt') || die $!;
- while(<IN> ) {
- push @keep, $_ unless $deleted($_);
- }
- close IN;
- print OUT, @keep;
- close OUT;
|
en version plus concise :
Code :
- open(IN, '<', 'SUPP') || die $!;
- my %deleted = map {$_=>1} <IN>;
- close IN;
- open(IN, '<', 'ALL.txt') || die $!;
- open(OUT, '>', 'ALL2.txt') || die $!;
- print OUT grep{not $deleted{$_}) <IN>;
- close IN;
- close OUT;
|
|