Hi Bio!
if $wort~=/ OR / {$orgesetzt = 1;} else {orgesetzt=0;}
if $wort~=/ AND / {$andgesetzt = 1;} else {andgesetzt=0;}Es muss natuerlich
if ($wort =~/ OR /) $orgesetzt = 1; else orgesetzt=0,
if ($wort~=/ AND /) $andgesetzt = 1; else andgesetzt=0;heissen... wie peinlich.
Schade, schon wieder falsch. ;-) In Perl duerfen die geschweiften Klammern naemlich nicht einfach so weggelassen werden wie in JS oder C. Der Perl-Autor meinte, dadurch irgendeinen Konflikt vermeiden zu koennen, der angeblich auftreten kann, wenn man die Klammern weglassen koennte. Aber warum machst Du's nicht einfach so:
$or = ($wort =~ / OR /) ? 1 : 0;
$and = ($wort =~ / AND /) ? 1 : 0;
Der Rest muesste aber stimmen... sonst poste ich nochmal :-)
if ($orgesetzt XOR $andgesetzt)
xor muss kleingeschrieben werden. Es geht aber auch so (tested):
$boolean = ($and && !$or && 'AND') || ($or && !$and && 'OR') || "";
(In perldoc perlop Abschnitt Synopsis stehen die Precedence rules, deren Kenntnis einem mitunter viele Klammern sparen kann. (In diesem Fall koennte man uebrigens *alle* Klammern weglassen, aber das ist der Uebersichtlichkeit imho auch nicht gerade zutraeglich.))
So long