La raccomandazione in codice completo è importante per il linguaggio come C, perché quando si ha
int f(void) {
int counter;
}
il valore di counter
è tutto ciò che accade di occupare quel ricordo.
In Perl, quando si dichiara una variabile utilizzando
my $counter;
non v'è dubbio che il valore di $counter
è undef
non qualche spazzatura casuale.
Pertanto, la motivazione alla base della raccomandazione, vale a dire garantire che tutte le variabili inizino con valori noti, viene automaticamente soddisfatta in Perl e non è necessario fare nulla.
Quello che si fa con i contatori è di incrementarli o decrementarli. Il risultato di:
my $counter;
# ...
++ $counter;
è ben definito in Perl. $counter
manterrà il valore 1
.
Infine, direi che, nella maggior parte dei casi, i contatori non sono necessari in Perl e il codice che fa ampio uso di variabili contatore potrebbe dover essere riscritto.
fonte
2010-11-03 19:28:30
L'inizializzazione delle variabili su "undef" è ancora un'inizializzazione. – zigdon
Posso chiedere _why_ che vorresti fare questo? – Zaid
@Zaid: La storia completa - Sto leggendo il codice completo (che menziona sempre l'inizializzazione delle variabili durante la dichiarazione, se possibile) e guardavo uno dei miei vecchi file che utilizza molti contatori che avevo inizializzato tutti a "zero" inizialmente ma in seguito rimosse tutte le inizializzazioni non necessarie. Sto pensando di reintrodurre tutte le inizializzazioni e ho posto questa domanda per trovare un modo migliore per farlo. – Lazer