and, or, not vs. &&, ||, !
Von: Manuel Reimer (mreimer@expires-30-11-2009.news-group.org) [Profil]
Datum: 04.11.2009 07:29
Message-ID: <1257316181.68@user.newsoffice.de>
Newsgroup: de.comp.lang.perl.misc
Datum: 04.11.2009 07:29
Message-ID: <1257316181.68@user.newsoffice.de>
Newsgroup: de.comp.lang.perl.misc
Hallo,
das es verschiedene Möglichkeiten gibt, leuchtet ja noch ein. So kann
man sich aussuchen, welche Syntax einem besser gefällt und Perl ist ja
dafür bekannt, dass es immer mehr als eine Möglichkeit gibt, um etwas zu
machen.
Komisch finde ich aber, dass die "Dinger" sich unterschiedlich
verhalten.
Beispiel:
if (!-d $path && !mkdir($path)) {
die("mkdir failed for $path");
}
verhält sich so, wie ich es erwarten würde. Perl prüft erst nach, ob das
Verzeichnis existiert und wenn nicht, dann wird versucht es zu
erstellen. Beides fehlgeschlagen? Dann Fehler und Ende.
Schreibe ich das gleiche so:
if (not -d $path && not mkdir($path)) {
die("mkdir failed for $path");
}
dann bekomme ich nur noch den Fehler und es wird garkein Verzeichnis
mehr erstellt.
Frage also: Warum so eine Verwirrung? Wo ist der Unterschied zwischen
der "englischen Syntax" und der Syntax mit den Sonderzeichen?
Gleiche Kritik könnte man anbringen bei "==, !=, <, >, ..." vs.
"eq, ne,
lt, gt, ...". Hier habe ich zwar verstanden, dass erstere für Zahlen und
letztere für Strings verwendet werden, aber der Sinn der Unterscheidung
erschließt sich mir auch hier nicht, zumal ich von diesen
"String-Funktionen" bisher nur "eq" und "ne" verwendet habe.
Wirklich
einen Sinn im Vergleich der "größe" eines Strings habe ich noch nie
gesehen. Wann nutzt man sowas? Beim Basteln von Sortieralgorithmen?
CU
Manuel
--
Alle wollen zurück zur Natur - aber keiner zu Fuß
Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern.
Nur leider hat er vergessen, rechtzeitig damit aufzuhören...
Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!
[ Auf dieses Posting antworten ]Antworten
- Michael van Elst (04.11.2009 07:50)
- Manuel Reimer (04.11.2009 10:16)
- Michael van Elst (04.11.2009 20:37)
- Ralf D (04.11.2009 20:03)
- Jens Mander (nein, nicht wirklich) (07.11.2009 11:05)
- Frank Seitz (04.11.2009 09:38)
- Manuel Reimer (04.11.2009 10:02)
- Frank Seitz (04.11.2009 10:25)
- Moritz Lenz (04.11.2009 19:23)
- Frank Seitz (04.11.2009 20:53)
