Thread Löschen von Hash Elementen-Paar in foreach-Schleife (9 answers)
Opened by yippi at 2014-01-21 01:39

Linuxer
 2014-01-21 21:03
#173116 #173116
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Quote
Code (perl): (dl )
if ( defined $hash{$key} ){}else{next;}


Ach Du meine Güte, das hab ich gar nicht gesehen. Hatte mich schon gewundert, wo das next sein solle...

Gewöhn Dir sowas bitte gleich wieder ab. Bleibe bitte bei einheitlicher klarer Einrückung.

Und Perl kann mit Negation umgehen; da braucht man keinen leeren WAHR-Zweig:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
if ( ! defined $hash{$key} ) {
    next;
}
# oder
if ( not defined $hash{$key} ) {
    next;
}
# oder noch kürzer
next  if !defined $hash{$key};


Von der Logik her erwartet das aber, dass der Key noch vorhanden ist.
In Deinem Fall ist aber eher interessant, ob der Key noch existiert:

Code (perl): (dl )
1
2
3
next if !exists $hash{$key};
# oder
next if not exists $hash{$key};

Last edited: 2014-01-21 21:14:11 +0100 (CET)
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 Löschen von Hash Elementen-Paar in foreach-Schleife