En fait il faut comprendre que dans ce mode, il n'y a effectivement qu'une seule ligne (tres longue). Ton while() ne fait qu'un tour; de même, dans ta regexp, le "^" de début de ligne est aussi un début de fichier.
Je connais tres peu perl en fait, mais un exemple de script qui traine chez moi itère sur le fichier en capturant les morceaux de fichiers autour de la regexp de cette façon:
# Ads deleter in HTML
undef $/; # enable "slurp" mode
$Tstart ="<!--Start of Ad -->";
$Tend ="<!--End of Ad-->";
while (<>) {
while ( /(.*)$Tstart.*?$Tend(.*)/s ){ $_= "1ドル2ドル";}
print "$_";
}
Et pour matcher des frontières de "vraie ligne" sans ^ ni ,ドル on peut utiliser \n (c'est un peu crade...)
Si un expert en perl passe ici et veut bien prendre le relai...
[^] # Re: Slurp mode
Posté par daggett . En réponse au message grep multi-ligne. Évalué à 3.
Je connais tres peu perl en fait, mais un exemple de script qui traine chez moi itère sur le fichier en capturant les morceaux de fichiers autour de la regexp de cette façon:
Et pour matcher des frontières de "vraie ligne" sans ^ ni ,ドル on peut utiliser \n (c'est un peu crade...)
Si un expert en perl passe ici et veut bien prendre le relai...