Thread Zweistufige Hash-Referenz zuweisen (36 answers)
Opened by mikdoe at 2009-06-03 20:50

topeg
 2009-06-04 00:50
#122317 #122317
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
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)

View full thread Zweistufige Hash-Referenz zuweisen