Thread Zweistufige Hash-Referenz zuweisen
(36 answers)
Opened by mikdoe at 2009-06-03 20:50
Schön schön sind doch schon ein Schritt weiter.
Dann wollen wir mal die Enhaltenen Hashes auslesen: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 foreach my $key (sort keys %$hash_ref) { print substr($key . '.' x 30,0,30) . ' => '; if ($key eq 'bic_candidates') { if(defined($hash_ref->{$key})) { my $typ=ref($hash_ref->{$key}); print "Element hat den typ: $typ\n"; print "(Untermenge wie folgt:)\n"; if($typ eq "ARRAY") { # Die im Array enthaltenen Hashes auslesen. for my $i (0..$#{$hash_ref->{$key}}) { print " Element $i:\n"; for my $inkey (sort keys %{$hash_ref->{$key}->[$i]}) { my $val = $hash_ref->{$key}->[$i]->{$inkey}; print " $inkey -> $val\n"; } } # was kommt nun raus? } else { print Dumper($hash_ref->{$key}); } } else { print "NOT DEFINED"; } } else { print (defined $hash_ref -> {$key} ? (length $hash_ref -> {$key} > 65 ? substr($hash_ref -> {$key},0,60) . '...' : $hash_ref -> {$key}) : 'NOT DEFINED'); } print "\n"; } Das sollte die im Array enthaltenen Hashes auslesen. Eventuell währe es günstiger die Objektmethoden zu nutzen. Welche es sind kann ich dir aber nicht sagen. (schau mal in die Doku zu "BICStruct"); EDIT: Das ist auch mein letzter Post für heute, ist schon spät. Last edited: 2009-06-04 01:18:01 +0200 (CEST) |