das oder dies

15/10/2008 - 08:56 von Petra Weiss | Report spam
es gibt eine variable $wert, die den wert 1,2,3 oder 4 haben kann.

nun möchte ich, wenn der wert z.b. 2 oder 4 ist, eine if aktion starten.

ich habs mit "if $wert == /2|4/" oder mit "if $wert == /[2|4]/" und weiteren
variationen versucht - erfolglos.

gibts da eine möglichkeit oder muss diese abfrage mit

if $wert = 2 && $wert = 4

ausgeführt werden?

tks & greest
alex
 

Lesen sie die antworten

#1 Moritz Lenz
15/10/2008 - 09:05 | Warnen spam
Hallo,

Petra Weiss wrote:
es gibt eine variable $wert, die den wert 1,2,3 oder 4 haben kann.

nun möchte ich, wenn der wert z.b. 2 oder 4 ist, eine if aktion starten.

ich habs mit "if $wert == /2|4/" oder mit "if $wert == /[2|4]/" und weiteren
variationen versucht - erfolglos.



Der erste Fehler ist, dass du runde Klammern beim if brauchst:

if ($wert =~ m/^[24]$/) {
print "dies";
}

[2|4] in einer Regex wàre "eine 2, ein | oder eine 4", also nicht das,
was du willst.

gibts da eine möglichkeit oder muss diese abfrage mit

if $wert = 2 && $wert = 4



In Perl 6 kann man
if $wert == 2|4 { ... }
schreiben. (Das sind sogenannte "Junctions", also Dinge, die mehrere
Werte auf einmal enthalten). Mit Perl 5 geht das nicht ganz so einfach.

Übrigens wàre $wert = 2 eine Zuweisung, kein Vergleich.

tks & greest
alex



Heisst du jetzt alex oder Petra?

Grüße,
Moritz

Moritz Lenz
http://perl-6.de/ http://moritz.faui2k3.org/

Ähnliche fragen