POD2-FR

 view release on metacpan or  search on metacpan

FR/perlrequick.pod  view on Meta::CPAN

S<exemples :>

    $x = "Time to feed the cat!";
    $x =~ s/cat/hacker/;   # $x contient "Time to feed the hacker!"
    $y = "'quoted words'";
    $y =~ s/^'(.*)'$/$1/;  # supprime les apostrophes,
                           # $y contient "quoted words"

Lorsqu'on utilise l'opérateur C<s///>, les variables C<$1>, C<$2>, etc. sont
directement utilisables dans l'expression de remplacement. Avec le
modificateur C<s///g>, la recherche et remplacement auront lieu sur toutes les
occurrences de l'expression S<rationnelle :>

    $x = "I batted 4 for 4";
    $x =~ s/4/four/;   # $x contient "I batted four for 4"
    $x = "I batted 4 for 4";
    $x =~ s/4/four/g;  # $x contient "I batted four for four"

Le modificateur d'évaluation C<s///e> ajoute un C<eval{...}> autour de la
chaîne de remplacement et c'est le résultat de cette évaluation qui sera
substitué à la sous-chaîne reconnue. S<Quelques exemples :>

    # inverser tous les mots d'une chaîne
    $x = "the cat in the hat";
    $x =~ s/(\w+)/reverse $1/ge;   # $x contient "eht tac ni eht tah"
    
    # convertir un pourcentage en fraction
    $x = "A 39% hit rate";
    $x =~ s!(\d+)%!$1/100!e;       # $x contient "A 0.39 hit rate"

Le dernier exemple montre que C<s///> peut utiliser d'autres délimiteurs tels
que C<s!!!> ou C<s{}{}>... ou même C<s{}//>. Si les délimiteurs sont des
apostrophes C<s'''> alors l'expression rationnelle et la chaîne de
remplacement sont considérées comme des chaînes entre apostrophes (pas
d'interpolation des variables).

=head2 L'opérateur de S<découpage :> split

C<split /regex/, chaine> découpe C<chaine> en une liste de sous-chaînes et
retourne cette liste. La regex détermine la séquence de caractères à utiliser
comme séparateur lors du découpage de C<string>. Par exemple, pour découper
une chaîne en mots, S<utilisez :>

    $x = "Calvin and  Hobbes";
    @mots = split /\s+/, $x;  # $mots[0] = 'Calvin'
                              # $mots[1] = 'and'
                              # $mots[2] = 'Hobbes'

Pour extraire une liste de nombres séparés par des S<points-virgules :>

    $x = "1,618;2,718;   3,142";
    @const = split /;\s*/, $x;  # $const[0] = '1,618'
                                # $const[1] = '2,718'
                                # $const[2] = '3,142'

Si vous utilisez l'expression rationnelle vide C<//>, la chaîne est découpée
en ses caractères. Si l'expression rationnelle contient des regroupements
alors la liste produite contiendra aussi les groupes S<reconnus :>

    $x = "/usr/bin";
    @parts = split m!(/)!, $x;  # $parts[0] = ''
                                # $parts[1] = '/'
                                # $parts[2] = 'usr'
                                # $parts[3] = '/'
                                # $parts[4] = 'bin'

Puisque le premier caractère de $x est reconnu comme délimiteur, C<split>
ajoute un élément vide au début de la liste.

=head1 BUGS

Aucun.

=head1 VOIR AUSSI

C'est un simple guide d'introduction. Pour un tutoriel plus complet voir
L<perlretut> et pour une référence complète voir L<perlre>.

=head1 AUTEUR ET COPYRIGHT

Copyright (c) 2000 Mark Kvale
All rights reserved.

This document may be distributed under the same terms as Perl itself.

Tous droits réservés.

Ce document peut être distribuer sous les mêmes termes que Perl.

=head2 Remerciements

L'auteur tient à remercier Mark-Jason Dominus, Tom Christiansen, Ilya
Zakharevich, Brad Hughes et Mike Giroux pour leurs commentaires précieux.

=head1 TRADUCTION

=head2 Version

Cette traduction française correspond à la version anglaise distribuée avec
perl 5.10.0.  Pour en savoir plus concernant ces traductions, consultez
L<http://perl.enstimac.fr/>.

=head2 Traducteur

Paul Gaborit (Paul.Gaborit at enstimac.fr).

=head2 Relecture

Aucune pour l'instant.

=cut



( run in 1.517 second using v1.01-cache-2.11-cpan-71847e10f99 )