Aquariophile: Entweder - Oder Abfrage

Hallo !

Mein Problem das ich heute habe,
könnte man fast als philosophische Frage ansehen,
ist aber ein _echtes_ Problem das ich lösen muss um weiter programmieren zu können.

Also, bevor ich eine Zeile Source poste,
mache ich ein Beispiel aus dem "realen" Leben.

Eine Mutter kommt mit Zwei Äpfeln nach Hause,
einem grünen und einen roten Apfel.

Sie fragt Max,
welchen Apfel er will.

---!!!!---
Den Grünen Apfel ODER den Roten ??
---!!!---

Nun kann sich Max für EINEN der beiden entscheiden,
ENTWEDER  grün,  ODER rot,
aber _nicht_ beide.

^^^ Exakt das ist wichtig,
Entweder oder, aber nicht beide....

Die Tatsächliche Perl-Frage:

if (($test eq "2") || ($test =~ /^\d+$/))  { ... }

Wenn  (($test 2 ist) ODER ($test eine Natürliche Zahl ist))  { ... }

-----
Seht ihr das Problem?
Max kann sich für den roten _oder_ den grünen Apfel entscheiden.

Gesetzt den Fall $test enthält 4.
Diese obige IF-Abfrage ist TRUE,
weil 4 ist eine natürliche Zahl,
auch wenn es nicht 2 ist,
aber da es eine Natürliche Zahl ist, wird es True.

Wenn $test aber 2 enthält....
Dann treffen Beide zu. (Problem !)

-!!- Dann würde Max nicht entweder grün Oder rot nehmen,
-!!- sondern Beide Äpfel !

Meine Frage:

Wie sage ich,
wenn ich die Zeichen && ||   kombinieren will?

Weil in diesem Fall,
wenn $test 2 enthält,
wäre es ja eine && aussage,
und wenn es 4 enthält eine || aussage,
und die ODER-Aussage ist ja eigentlich falsch weil beide richtig sind wenn $test 2 ist.

Beispiel was ich _vermute_

$test = "2";

if (($test eq "2") && ($test =~ /^\d+$/))  { ... }  # TRUE, weil ja beide zutreffen dürfen (&&)

if (($test eq "2") || ($test =~ /^\d+$/))  { ... }   # FALSE, weil nur entweder oder geht, aber nicht beides.

Ich hoffe ich habe euch nicht verwirrt,
bitte sagt mir ob meine Denkweise stimmt und wie man so etwas löst......

Besten Dank und

Liebe Grüße,
Aquariophile

  1. SORRY !!

    Es tut mir UR-leid,
    Opera hat so getan als würde der Absenden-Button nicht gehen,
    desshalb  Postete ich es mit Netscape nochmals.

    Tut mir Leid !!!
    War nicht absichtlich !!

    Aquariophile