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 )