my $interfile = 'D:\\Documents\\Programmation\\tmp\\Liste180.txt'; my $outputfile = 'D:\\Documents\\Programmation\\tmp\\sortie.txt'; open (ECRITURE, "< $interfile") || die ("Can't open inter() file $interfile: $!."); open (SORTIE, "> $outputfile") || die ("Can't open input file $outputfile: $!."); $contactTrouve =0; $contactValides = 0; $contactTout = 0; while ($line = ) { if ($line =~ /^([A-Z\-]+( [A-Z\-]+){0,3} [A-Z][a-zéč]+((-[A-Z]?[a-z]+)+)?) *;/) {$contactTout ++;} print "$contactTout "; $line =~ s/—/-/g; $line =~ s/e-mai\//e-mail/g; $line =~ s/e-maiI/e-mail/g; $line =~ s/e-mail :/e-mail:/g; $line =~ s/APE:.*\n/\n/g; $line =~ s/Dom.:.*\n/\n/g; $line =~ s/.c0m/.com/; $line =~ s/([a-z])['’]/$1' /gi; $line =~ s/(\||l|I)\\\/(\||l|I)/M/g; $line =~ s/'i'/ď/; $line =~ s/\|/l/; my @contact = ("Nom","Poste","Entreprise","email","","","",""); if ($line =~ /e-mail/ ){ #if ($line =~ /\b(75|78|91|92|93|94|95)[0-9]{3}\b/) { if ($line =~ /e-mail: ([A-HJ-Za-z][A-HJ-Z._ \-a-z]*@[A-HJ-Z._a-z \-]+(.org|.com|.fr|.net))[, ;]/) { $email = $1; $email =~ s/ //g; $email = lc($email); $contact[4]=$email; } elsif ($line =~ /e-mail: (I[A-HJ-Z._ \-a-z]*@[A-HJ-Z._a-z \-]+(.org|.com|.fr|.net))[, ;]/ || $line =~ /e-mail: ([A-HJ-Za-z][A-HJ-Z._ \-a-z]*@ ?I[A-HJ-Z._a-z \-]+(.org|.com|.fr|.net))[, ;]/ ) { $email = $1; $email =~ s/ //g; $email2 = $email; $email2 =~ s/I/l/g; $email2 = lc($email2); $contact[4]=$email; $contact[5]="/!\\possibilité : $email2"; } elsif ($line =~ /e-mail: ([A-HJ-Za-z][A-HJ-Z._ \-a-z]*I[A-HJ-Z._ \-a-z]*@[A-HJ-Z._a-z \-]+(.org|.com|.fr|.net))[, ;]/ || $line =~ /e-mail: ([A-HJ-Za-z][A-HJ-Z._ \-a-z]*@[A-HJ-Z._a-z \-]+I[A-HJ-Z._a-z \-]*(.org|.com|.fr|.net))[, ;]/) { $email = $1; $email =~ s/ //g; $email2 = $email; $email2 =~ s/I/l/g; $email2 = lc($email2); $contact[4]=$email2; $contact[5]=$email; } else { $contact[4] = "EMAIL INTROUVABLE"; } $line =~ /^(([A-Z\-]+( [A-Z\-]+){0,3} [A-Z][a-zéč]+((-[A-Z]?[a-z]+)+)?)) *;/; $contact[1]= $1; if ($line =~ /$contact[1] ?;.*;.*/) { until ($line =~ /; ¤[^;]*[0-9]/ ) {$line =~ s/;(.[^¤])/; ¤$1/; } $line =~ s/; ¤([^;]*[0-9])/;$1/; } $line =~ /; *([ A-Z.&0-9a-zéčŕś\/&\-,]+,(([',.&\- ]+|[A-Z]{2,})+)[A-Z]{2,})(([A-Z]?[ '0-9éčŕśa-z.\/&\-,])+([0-9& A-Z\-]+)).*e-mail:/; ($contact[2], $contact[3]) = ($1, $4); print '---'."\n".$contact[1]."\n"; print $contact[2]."\n"; print $contact[3]."\n"; print $contact[4]."\n"; if ($contact[5]) {print $contact[5]."\n" } ; print "$line"; $contactValides ++; if ($contact[2] && $contact[3] && $contact[4] =~ /@/ ) { $contactTrouve ++; } } } print "\n\nContact déchiffrés : $contactTrouve sur $contactValides ($contactTout contacts aux total)\n" ; close(ECRITURE); close (SORTIE); ## Joindre éléments liste par ; # $ch = join("-",@liste)