Thread Array leer, wie abfragen? (12 answers)
Opened by PETER_PAN2009 at 2010-03-29 13:42

Linuxer
 2015-12-23 20:54
#183265 #183265
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Guest Enrico
Theoretisch ist ja beides gleich und würde die folgende Bedingung auslösen und nicht in elsif oder else greifen.


Es gibt einen kleinen Unterschied; unless ist eher ein if not als ein if !; siehe http://www.perlmonks.org/?node_id=947 (siehe dort die Beiträge von holli und merlyn).

Bei Stack Overflow wurde das auch recht nett und ausführlich diskutiert: http://stackoverflow.com/questions/3048726/usage-o...

Ansonsten ist if (! weniger zu tippen als unless (.

"Perl Best Practices" rät vom unless ab, aber an diesem Thema scheiden sich wohl die Geister.

Ich habe da noch nicht stärker drüber nachgedacht, aber ich glaube, ich verwende unless höchstens bei einfachen Bedingungen. Wenn es komplexer wird (elsif / else Zweige, oder verknüpfte Bedingungen mit/oder Negationen), dann wird's ein if.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# einfacher Fall mit unless
sub foo {
return unless $@; # gleich zurück solange keine Argumente angegeben wurden
...
}

# komplexer Fall mit if !
if ( !-e $directory ) {
# mkdir
}
elsif ( !-d $directory ) {
# kein Verzeichnis
}
elsif ( !-w $directory ) {
# Verzeichnis, aber nicht schreibbar
}
else {
# muss was wirklich doofes passiert sein...
}
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 Array leer, wie abfragen?