Bonjour,
Je me remet au Perl, et j'ai quelques sérieuses difficultés...
En effet, mon script trouve bien le fichier, trouve mon expression régulière, mais visiblement, reste bloqué sur le chomp();
#!/usr/bin/perl -w
#######################################################################
# Programme perl de parcours de fichiers dans un répertoire. #
# Recherche d'une expression régulière dans ces fichiers. #
# Suppressions de nombreuses lignes, une fois l'expReg trouvée.
#######################################################################
# help : http://www.unix.org.ua/orelly/perl/
#$chemin = "/home/test/";
#opendir REP, $chemin
#or die "impossible d'ouvrir le repertoire : $!";
#@fichiers = readdir REP;
#closedir(REP);
#foreach $fichier (@fichiers)
#{
#$full_path=$chemin.$fichier;
#print "$full_path\n";
# verifier les droits d'ecriture sur le fichier...
##################################################
open(FILE, '+<C:/Documents and Settings/toto/Mes documents/mon_test.txt')
or die ("probleme a l'ouverture du fichier : $!" );
#print "$fichier\n";
my @ligne = <FILE>;
my $chaine ="mon image A\.jpg";
my $i=0;
foreach $ligne(@ligne)
{
if ($ligne=~/$chaine/)
{
$i++;
while ($i<10)
{chomp ($ligne);}
}
else {printf("mauvaise expression reguliere\n");}
#next FILE;
}
close(FILE);
#}
exit(0)
Le résultat :
mauvaise expression reguliere
mauvaise expression reguliere
mauvaise expression reguliere
mauvaise expression reguliere
Terminating on signal SIGINT(2)
(dernière ligne obtenue après ctrl+c car bloqué : la chaine trouvée se trouve en effet à la 5° ligne de mon fichier texte...)
Précision : comme dit en commentaire, le but est de supprimer plusieurs lignes une fois la regExp trouvée.
Une petite aide ne serait pas de refus :o)
Merci,
A+
