
Des codes sources perlConsultez toutes les FAQ
Nombre d'auteurs : 13, nombre de questions : 59, dernière mise à jour : 27 mai 2011
Sommaire
→
Expressions régulièresVoici une fonction permettant le formatage d'un nombre entier avec des espaces comme séparateurs des milliers.
sub FormatNumber {
my( $Number ) = @_;
while( $Number =~ s/^(-?\d+)(\d{3})/$1 $2/ ){};
return( $Number );
}
Exemple d'utilisation :
FormatNumber(95412368);
Retourne : 95 412 368
#!/usr/bin/perl
use strict;
use warnings;
my $motif = 'e';
my $phrase = 'Comment lire un fichier de configuration (.ini, yaml, ...) ?';
my $count =()= $phrase =~ m{$motif}g;
print "Il y a $count \"$motif\" dans \$phrase\n";
Il y a 4 "e" dans $phrase
=()= est ce qu'on appelle en Perl un goatse, pas toujours connu du grand public.
En fait, c'est l'usage de l'opérateur d'affectation à une liste vide
qui permet d'évaluer l'expression régulière dans un contexte de liste
et dont le résultat est affecté à $count.
Or la valeur de retour d'une affectation de liste évaluée dans un contexte de scalaire
retourne le nombre d'élément contenu dans la rvalue de cet opérateur d'affectation,
donc le nombre d'élément capturé par l'expression régulière.
L'utilisation des expressions régulière est plus appropriée.
#!/usr/bin/perl
use strict;
use warnings;
my $motif = 'e';
my $phrase = 'Comment lire un fichier de configuration (.ini, yaml, ...) ?';
print "$phrase\n";
# tous les mots en majuscule
$phrase =~ s{\b(.+?)\b}{ucfirst($1)}ge;
print "Maj : $phrase\n";
# tous les mots en minuscule
$phrase =~ s{\b(.+?)\b}{lcfirst($1)}ge;
print "Min : $phrase\n";
Comment lire un fichier de configuration (.ini, yaml, ...) ?
Maj : Comment Lire Un Fichier De Configuration (.Ini, Yaml, ...) ?
Min : comment lire un fichier de configuration (.ini, yaml, ...) ?



