my @keys = keys (%$hash_ref); foreach my $k (sort {lc $keys[$a] cmp lc $keys[$b]} 0..$#keys) { print substr($keys[$k] . '.' x 30,0,30) . ' => '; if ($keys[$k] eq 'bic_candidates') { print "(Untermenge wie folgt:)\n"; for my $e ( @{ $hash_ref->{$k} } ) { print "$e\n"; } } elsif ($keys[$k] eq 'checks') { print "(Untermenge wie folgt:)\n"; for my $e ( @{ $hash_ref->{$k} } ) { print "$k -> $e\n"; } } else { print (defined $hash_ref -> {$keys[$k]} ? (length $hash_ref -> {$keys[$k]} > 65 ? substr($hash_ref -> {$keys[$k]},0,60) . '...' : $hash_ref -> {$keys[$k]}) : 'NOT DEFINED'); } print "\n"; }