Thread Switch Syntax Fehler?
(6 answers)
Opened by jgeier at 2009-05-30 21:13
Perl hat kein eingebautes "switch" Statement. Wenn du die Syntax nutzen möchtest so wie du es geschrieben hast, dann musst du "use Switch" schreiben damit das geht.
Allerdiengs rate ich davon eher ab, weil dieses Switch ein SourceFilter ist. Und SourceFilter neigen dazu in Situationen nicht zu funktionieren und komische Fehler zu melden. Perl hat erst seit Perl 5.10 ein aquivalent zum switch Statement. Da dieses aber mächtiger verglichen zu anderen Sprachen ist, heißt es hier given/when. http://perldoc.perl.org/perlsyn.html#Switch-statem... Das ist allerdiengs erst ab Perl 5.10 verwendbar. Ansonsten in deinem Fall würde ich hingehen und lieber eine if..elsif..elsif..else Struktur aufbauen oder noch besser eine Dispatch Tabelle. Code (perl): (dl
)
1 2 3 4 5 6 7 8 my $ftest = "hier"; my %switch = ( hier => sub { return "hier und heute" }, dort => sub { return "dort und morgen" }, ); my $ferg = $switch{$ftest}->() Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|