La recomendación de código completo es importante para el lenguaje como C, porque cuando se tiene
int f(void) {
int counter;
}
el valor de counter
es lo que pasa a ocupar la memoria.
En Perl, cuando se declara una variable usando
my $counter;
no hay duda de que el valor de $counter
es undef
no un poco de basura al azar.
Por lo tanto, la motivación detrás de la recomendación, es decir, garantizar que todas las variables comiencen con valores conocidos, se satisface automáticamente en Perl y no es necesario hacer nada.
Lo que debes hacer con los contadores es incrementarlos o disminuirlos. El resultado de:
my $counter;
# ...
++ $counter;
está bien definido en Perl. $counter
tendrá el valor 1
.
Finalmente, yo diría que, en la mayoría de los casos, los contadores no son necesarios en Perl y es posible que sea necesario volver a escribir el código que hace un uso extensivo de las variables del contador.
La inicialización de variables a 'undef' sigue siendo una inicialización. – zigdon
¿Puedo preguntar por qué querría hacer esto? – Zaid
@Zaid: la historia completa: estoy leyendo Code Complete (que menciona siempre inicializar variables mientras declaro, si es posible) y estaba mirando uno de mis archivos antiguos que usa muchos contadores que inicialmente había inicializado en 'cero' pero luego eliminó todas las inicializaciones innecesarias. Estoy pensando en reintroducir todas las inicializaciones y formulé esta pregunta para encontrar una mejor manera de hacerlo. – Lazer