Schrift
[thread]11193[/thread]

Probleme mit "switch-case"

Leser: 1


<< >> 3 Einträge, 1 Seite
rap
 2008-01-26 18:25
#105194 #105194
User since
2008-01-26
2 Artikel
BenutzerIn
[default_avatar]
Hallo,

Auf http://pronix.linuxdelta.de/Perl_cgi/Perl/perl_kurs_kapitel6.shtml#6_3 habe ich eine Funktion gefunden, die der Switch-Case Funktion von C sehr ähnlich ist. Das Beispiel dort funktioniert auch einwandfrei.

Nun wollte ich das auch ausprobieren aber anstatt Zahlen abzufragen, will ich Strings abfragen:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
print "Zahl1: ";
chomp($zahl1=<STDIN>);
print "Welche Rechenoperation wollen Sie durchführen? ";
chomp($operation=<STDIN>);
print "Zahl2: ";
chomp($zahl2=<STDIN>);

RECHNER: {
    $operation="-"    && do { $zahl3=$zahl1-$zahl2;   print $zahl3."\n";                    last RECHNER; } ;
    $operation="+"    && do { $zahl3=$zahl1+$zahl2;   print $zahl3."\n";                    last RECHNER; } ;
    $operation="*"    && do { $zahl3=$zahl1*$zahl2;   print $zahl3."\n";                    last RECHNER; } ;
    $operation="/"    && do { $zahl3=$zahl1/$zahl2;   print $zahl3."\n";                    last RECHNER; } ;
                         do { print "\n". $operation. " ist keine Rechenoperation"."\n";    last RECHNER; } ;
}


Das Problem ist, dass bei mir immer die erste Anweisung ausgeführt wird, egal welchen Wert ich für $operation eingebe.

Mfg

Rap
ptk
 2008-01-26 18:28
#105196 #105196
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
= ist die Zuweisung. Du musst stattdessen eq verwenden.

Falls du perl5.10 zur Verfügung hast, kannst du auch given ... when verwenden.
rap
 2008-01-26 18:31
#105197 #105197
User since
2008-01-26
2 Artikel
BenutzerIn
[default_avatar]
Danke, für die schnelle Antwort, schon ist mein Problem gelöst :-)
<< >> 3 Einträge, 1 Seite



View all threads created 2008-01-26 18:25.