Thread Zweistufige Hash-Referenz zuweisen
(36 answers)
Opened by mikdoe at 2009-06-03 20:50
seltsam...
So muss er was ausgeben... 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 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") { print " $_\n" for( @{ $hash_ref->{$key} } ); } elsif($typ eq "HASH") { print " $_ -> ".$hash_ref->{$key}->{$_}."\n" for(sort keys %{$hash_ref->{$key}}); } 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"; } Nebenbei, nutzt du "warnings"? Das wäre hier durchaus sinnvoll, da Perl Warnungen ausgäbe, wenn auf undefinierte Hash oder Array-Elemente zugegriffen würde. Last edited: 2009-06-04 00:51:36 +0200 (CEST) |