IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Des codes sources perlConsultez toutes les FAQ

Nombre d'auteurs : 13, nombre de questions : 59, dernière mise à jour : 27 mai 2011 

 
OuvrirSommaireExpressions régulières

Voici une fonction permettant le formatage d'un nombre entier avec des espaces comme séparateurs des milliers.

 
Sélectionnez
sub FormatNumber {
    my( $Number ) = @_;
    while( $Number =~ s/^(-?\d+)(\d{3})/$1 $2/ ){};
    return( $Number );
}

Exemple d'utilisation :

 
Sélectionnez
FormatNumber(95412368);
Retourne : 95 412 368
Créé le 2008-12-18  par kuzco
 
Sélectionnez
#!/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";
Résultat
Sélectionnez
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.

Créé le 2009-06-15  par djibril, Philou67430

L'utilisation des expressions régulière est plus appropriée.

 
Sélectionnez
#!/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";
Résultat
Sélectionnez
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, ...) ?
Créé le 2009-06-15  par djibril
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.