Thread Warum erzeugt ( $5 // 3 ) ein Syntaxfehler? (15 answers)
Opened by SMarc at 2017-02-05 17:45

betterworld
 2017-02-05 20:52
#186040 #186040
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Ich glaube dein Problem ist das Switch-Modul. Versuch mal, ohne das Modul auszukommen.

Dieses Modul funktioniert so, dass es den Code mit irgendwelchen regulären Ausdrücken umformatiert, und es ist berüchtigt dafür, dass dabei gerne mal etwas schief geht. Insbesondere bei so einem Konstrukt wie "//", weil Switch älter ist als "//" und daher nicht so etwas erwartet.

Genauso verrufen wie das Switch-Modul sind übrigens die Funktionsprototypen, also ($). Als Neuling solltest du sie so lange nicht einsetzen, bis du irgendwann weißt, was genau sie tun und dass du genau das brauchst (und das ist in der Regel selten).


[Update]: Falls du auf der Suche nach Alternativen zu Switch zufällig auf given/when kommst: Soweit ich weiß, ist given/when in aktuellen Perl-5-Versionen als experimentell eingestuft. Daher wird es für deinen Fall wahrscheinlich das einfachste sein, wenn du ganz einfach mit if-elsif-elsif-else arbeitest.
Last edited: 2017-02-05 20:58:46 +0100 (CET)

View full thread Warum erzeugt ( $5 // 3 ) ein Syntaxfehler?