Ich wurde aufgefordert, einige vorhandenen Code zu ändern, um einige zusätzliche Funktionen hinzuzufügen. Ich habe auf Google gesucht und kann die Antwort nicht finden. Ich habe etwas zu diesem Effekt ...Wie kann ich Hashes als Argumente für Unterroutinen in Perl verwenden?
%first_hash = gen_first_hash();
%second_hash = gen_second_hash();
do_stuff_with_hashes(%first_hash, %second_hash);
sub do_stuff_with_hashes
{
my %first_hash = shift;
my %second_hash = shift;
# do stuff with the hashes
}
ich die folgenden Fehler bin immer:
Odd number of elements in hash assignment at ./gen.pl line 85.
Odd number of elements in hash assignment at ./gen.pl line 86.
Use of uninitialized value in concatenation (.) or string at ./gen.pl line 124.
Use of uninitialized value in concatenation (.) or string at ./gen.pl line 143.
Linie 85 und 86 sind die ersten beiden Zeilen in der Unterroutine und 124 und 143 sind, wo ich bin auf die Hashes zugreifen. Wenn ich diese Fehler nachschaue, scheint es, dass meine Hashes nicht initialisiert sind. Ich kann jedoch überprüfen, dass die Hashwerte Werte haben. Warum bekomme ich diese Fehler?
Dies ist ein Duplikat. Bitte werfen Sie einen Blick auf http://stackoverflow.com/questions/944784/ – innaM