Thread Hash in Subroutinen
(12 answers)
Opened by Andi123 at 2017-03-30 18:58
Zweite Antwort mit mehr Bezug auf Deinen Beitrag:
Guest Andi123 Du übergibst ja auch nur eine Referenz auf den Hash. Anscheinend hast Du auch keine Warnungen use warnings; eingeschaltet. Denn mit Warnungen solltest Du eine entsprechende erhalten, dass die Hash-Zuweisung eine ungerade Anzahl an Elementen enthält. ![]() Beim zweiten Versuch wird die gesamte Liste der Argumente übergeben; da aber nur zwei da sind, landet im Hash wieder nur ein Element, die Referenz auf den originalen Hash. Also entweder: Code (perl): (dl
)
1 2 3 4 5 6 sub foo { my $key = shift; my $hashref = shift; # und dann die Hash-Referenz derefenzieren } oder Code (perl): (dl
)
1 2 3 4 5 6 sub foo { my $key = shift; my %hash = @_; # und dann normal mit %hash als Hash arbeiten } benutzen. meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |