Thread Use of uninitialized value ...: Hash mit Array als value (undef) (14 answers)
Opened by Duff at 2007-07-10 16:56

Linuxer
 2007-07-10 17:39
#78346 #78346
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hm, OK.

Da wird ein Element eines Array angemeckert, das 'undef' ist;

Eine Art, das zu lösen, wäre:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
for my $k ( sort keys %hash ) {

    # Elemente, die 'undef' sind, auf '' setzen
    #my @arr = map{ defined $_ ? $_ : '' } @{ $hash{$k} };
    # oder mittels grep nur die "defined" Elemente nehmen
    my @arr = grep { defined $_ } @{ $hash{$k} };

    if ( @arr ) {
        printf "%s %s\n", $k, "@arr";
    }
}


Die beiden Varianten habe unterschiedliche Resultate!
Was Du haben willst, musst Du entscheiden.

edit: Grammatik korrigiert.\n\n

<!--EDIT|Linuxer|1184074812-->
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Use of uninitialized value ...: Hash mit Array als value (undef)