POD2-IT

 view release on metacpan or  search on metacpan

IT/perlfaq5.pod  view on Meta::CPAN

=head2 Come posso usare l'opzione del Perl C<-i> dall'interno di un programma?
X<-i> X<in-place>

C<-i> imposta il valore della variabile Perl C<$^I>, che a sua volta influisce 
sul comportamento di C<< <> >>; consultate L<perlrun> per maggiori dettagli.
Modificando direttamente le variabili appropriate, potete ottenere lo stesso comportamento 
all'interno di un grosso programma. Per esempio:

     # ...
     {
        local($^I, @ARGV) = ('.orig', glob("*.c"));
        while (<>) {
           if ($. == 1) {
               print "Questa linea dovrebbe apparire in cima ad ogni file\n";
           }
           s/\b(p)earl\b/${1}erl/i;        # Corretto un errore di battitura, mantiene le maiuscole/minuscole
           print;
           close ARGV if eof;              # Reimposta $.
        }
     }
     # $^I e @ARGV qua ritornano ai loro vecchi valori

IT/perlsub.pod  view on Meta::CPAN


Dovete assegnare un valore temporaneo ad una variabile globale, specialmente
C<$_>.

Le variabili globali, come C<@ARGV> o le variabili punteggiatura, devono
essere C<local>izzate con C<local()>. Il blocco di codice che segue legge
il file F</etc/motd> e lo divide in parti separate da righe o segni di
uguaglianza, che sono poste in C<@Campi>.

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

In particolare, E<egrave> importante C<local>izzare C<$_> in qualsiasi routine che
assegni qualcosa a tale variabile. Facendo bene attenzione agli assegnamenti
impliciti nei condizionali di C<while>.

=item 2.



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