Bonjour,

Je dois nettoyer une base de liste de mail. J'ai donc le fichier "base_eMAILs" que je dois nettoyer en enlevant les mail qui sont dans le fichier "blacklist_eMAILs_eSAME".
J'ai donc fait ceci :
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
#!/usr/bin/env perl 
 
use strict; 
use warnings; 
 
open ( BLACK, "<blacklist_eMAILs" ) or die "unable to open file : $! \n"; 
my @mail=<BLACK>;
 
while ( @mail ) {
	foreach my $mail (@mail){
	print "FLAG email: $mail\n";
    open ( FILE, "<", "base_eMAILs" ) or die "unable to open file : $! \n"; 
    my @LINES = <FILE>; 
    close( FILE ); 
    open( FILE, ">", "base_eMAILs" ) or die "unable to open file : $! \n";
    foreach my $LINE ( @LINES ) { 
        print FILE $LINE unless ( $LINE =~ m/$mail/ ); 
    } 
    close( FILE ); 
    print( "Email $mail removed.\n" ); 
	}
}
Mes flags fonctionnent mais le fichier base_eMAILs n'est pas modifié. J'ai aussi essayé une substitution par rien comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
print FILE $LINE unless ( $LINE =~ s/$mail// );
Sans succès
Merci de votre aide.