Bonjour,
comme je l'indique dans la chaine qui me sert de test, je souhaite supprimer les espaces qui se trouvent avant et après les % et de mettre un seul espace entre les mots.
J'ai écrit ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13
| #!usr/bin/perl -w
use strict;
my $message = "% message qui sera affiche % en reduisant les espaces %et en supprimant ceux avant et apres%";
my $chaine = supp_espace($message);
print $chaine;
sub supp_espace{
my ($message) = @_;
$message =~ s/%\s*(.*)\s*%/%$1%/g;
$message =~ s/\s+/ /g;
return $message;
} |
En sortie, j'obtiens :
%message qui sera affiche % en reduisant les espaces %et en supprimant ceux avant et apres%
Je ne comprends pas vraiment pourquoi l'écriture de l'expression régulière :
$message =~ s/%\s*(.*)\s*%/%$1%/g;
Ne me supprime pas tous les espaces avant et après les %
Merci
Partager