Desidero sommare i valori da un hash che ho creato.Aggiunta dei valori in un hash (Perl)
my $value_count;
foreach my $key (@keys) {
$value_count = sum($words{key}, $value_count);
}
Tuttavia quando ho eseguito questo ottengo
Undefined subroutine &main::sum called at C:/Users/Clayton/workspace/main/Main.pl line 54, <$filehandle1> line 174.
Io non sono davvero sicuro di dove sto andando male qui. Sono nuovo di Perl.
EDIT: Ho provato ad utilizzare solo operatore +, ma ho l'errore
Use of uninitialized value in addition (+) at C:/Users/Clayton/workspace/main/Main.pl line 54, <$filehandle1> line 174.
Praticamente il mio hash è come Chiave Valore cat 2 cane 4 ratto 1
Così ho Sto cercando di sommare tutti i valori, quindi posso prendere una media.
MODIFICA 2: La correzione effettiva è nei commenti che dovevo rendere il mio $ value_count = 0. Che ha risolto tutto. Grazie a tutti. Penso che questo sia un problema importante da risolvere e penso che potrebbe essere utile per qualcun altro, quindi ho intenzione di lasciarlo.
hai fatto a risolvere l'errore di battitura con 'key' invece di' $ key'? – Tim
Assicurati di utilizzare il sigal '$'. Non sei nel tuo esempio. – jmcneirney
@Tim N aww maledetto ho un errore di battitura ..... –