POD2-FR

 view release on metacpan or  search on metacpan

FR/perlfaq5.pod  view on Meta::CPAN


=head2  Comment utiliser l'option C<-i> de Perl depuis l'intérieur d'un S<programme ?> X<-i> X<sur-place>

L'option C<-i> modifie la valeur de la variable Perl C<$^I> qui
modifie le comportement de S<C<< <> >> ;> voir L<perlrun> pour plus de
détails. En modifiant directement les bonnes variables, vous pouvez
obtenir le même comportement dans votre programme. Par S<exemple :>

   # ...
   {
     local($^I, @ARGV) = ('.orig', glob("*.c"));
     while (<>) {
       if ($. == 1) {
         print "Cette ligne sera en tete de chaque fichier\n";
       }
       s/\b(p)earl\b/${1}erl/i; # Correction en tenant
                                # compte de la casse
       print;
       close ARGV if eof;       # Réinitialise $.
     }
   }

FR/perlsub.pod  view on Meta::CPAN


Vous avez besoin de donner une valeur temporaire à une variable
globale, en particulier $_.

Les variables globales, comme C<@ARGV> ou les variables de
ponctuation, doivent être C<local>isées avec C<local()>. Ce bloc lit
dans F</etc/motd>, et le découpe en morceaux, séparés par des lignes de
signes égal, qui sont placés dans C<@Fields>.

    {
        local @ARGV = ("/etc/motd");
        local $/ = undef;
        local $_ = <>;  
        @Fields = split /^\s*=+\s*$/;
    } 

Il est important en particulier de C<local>iser $_ dans toute routine
qui l'affecte. Surveillez les affectations implicites dans les
conditionnelles C<while>.

=item 2.



( run in 0.493 second using v1.01-cache-2.11-cpan-49f99fa48dc )