Aquí hay algunos Perl simples para contar la cantidad de veces que se produce un valor en una matriz. Esto funciona sin ninguna advertencia.¿Cuándo Perl autoinicializa las variables?
use warnings;
use strict;
my @data = qw(1 1 2 3 4 5 5 5 9);
my %histogram;
foreach (@data)
{
$histogram{$_}++;
}
Cuando el cuerpo del bucle se cambia a
$histogram{$_} = $histogram{$_} + 1;
Perl advierte "Uso del valor no inicializado, además".
¿Qué está pasando debajo del capó? ¿Por qué se inicializa el valor cuando se suministra como un operando al operador ++ y no se inicializa con el operador +?
Si bien las advertencias no rompen directamente la compilación, deben tenerse en cuenta sin embargo. – Svante