Thread Hash in Subroutinen
(12 answers)
Opened by Andi123 at 2017-03-30 18:58
Ich möchte u.a. einen Hash an ein Sub übergeben. In der Sub will ich den Inhalt von %content nur lesen, nicht ändern.
$returnValue = doSub($key, \%content); Weder mit noch mit komme ich an %content ran. Ich habe einiges gelesen, aber nichts gefunden, wie ich in der Sub einfach %content auslesen kann, bspw. mit while ( ($key, $value) = each (%content)) {....} Einige im Netz gefundene Lösungen zeigten u.a., dass ich kein %_Hash mehr habe, sondern ein $_Array. Oder ich sollte etwas mit %{ variablenname } probieren, was ich nicht verstanden habe :( Unter Fragen zu Hashs finde ich den Hinweis --- subroutine($a, $b, \%hash1, \%hash2, ...) übergibt keinen Salat, sondern neben $a und $b einfach nur 2 Adressen. Und mit diesen 2 Adressen kriegst du auf der anderen Seite wieder deine Hashes. --- Aber der Post zeigt mir leider nicht an, wie ich die Werte in der Sub "auffange". Ob mit shift oder @ oder oder oder :) So gibt mir ein Dumper(%content) - nach obigem Tipp - nicht den Inhalt des Hashs an, sondern "$VAR1 = 'HASH(0x196f4a0)'; $VAR2 = undef;" Das kann doch nicht so schwer sein? PS Und warum verstehe ich das nicht? :D Last edited: 2017-03-30 19:32:46 +0200 (CEST) |