Ich hatte eine harte Zeit, diese Frage zu titeln, da ich wirklich ratlos bin, was diesen Fehler verursachen könnte.Perl MindMelting nicht initialisierte Variable in Skalar von Array-Ausnahme
, wenn ich den Code haben als solche eingegeben:
my @strArray= ('TypeKey', 'AccidentType', '01');
my %HashArrayThing = ('EnglishArray' => @strArray,
'FrenchArray' => ('julier', 'aout', 'septembre'));
my $scalar = @HashArrayThing{EnglishArray};
my @ARR = @HashArrayThing{EnglishArray};
say $scalar,
say $ARR[0];
der Ausgang ist:
TypeKey
TypeKey1
, wenn ich nur ändern, die say $ARR[0]
-say $ARR[1]
(oder eine andere Nummer) erhalte ich die Fehlermeldung: "Nicht initialisierter Wert in etwa in Zeile 50" (gleiche Zeile wie der 'say $ Skalar')
Das macht für mich keinen Sinn. Ich könnte verstehen, dass die $ ARR [1] außerhalb der Grenzen liegen könnte, vielleicht hat man den ersten Wert aus dem im Hash-Set gespeicherten Array bekommen, aber ich verstehe überhaupt nicht, woher das kommt. Ich hoffe, da ist jemand mit einem tiefen Verständnis von Perl, das mich erleuchten kann.
PS. auch wo ist der '1'coming von diesem ist bieng typkey hinzugefügt.