Thread Switch Syntax Fehler? (6 answers)
Opened by jgeier at 2009-05-30 21:13

sid burn
 2009-05-30 22:02
#122113 #122113
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
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

View full thread Switch Syntax Fehler?