Salut à tous,
J'ai un petit souci avec une expression régulière. Je fais un test avec le petit programme suivant :
Normalement, je voudrais que le deuxième print devrait m'afficher
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #!/usr/bin/perl -w use strict; my $text = " hey bonjour\n \t pof pif"; print "$text\n"; $text =~ s/^[ \t]+//g; print "$text\n";
Au lieu de ça, le remplacement semble ne fonctionner que sur la première ligne ?! Ça me donne donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 hey bonjour pof pif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 hey bonjour pof pif
J'ai testé ce bout de code sous windows avec cygwin et sur une debian, le résultat est le même.
Je ne comprends pas du tout ce comportement, je dis bien : «supprime moi (s) tout espace ou tabulation ([ \t]+) en début de ligne (^) et ce pour toutes les occurrences (/g).». Non ?
Quelqu'un voit pourquoi ça marchouille pas pour toutes les lignes et surtout quelle serait la solution à ce fichu problème ?
Merki
@++
Partager