Thread abgedrehtes problem mit switch: oder bin ich blind?
(71 answers)
Opened by deepblack at 2004-06-16 21:56
[quote=Dieter,07.07.2004, 15:39]@pq
Du kannst den BEGIN Block auch an das Ende des Scripts stellen. Der Parser sucht zunächst einmal nach einem solchen Block/solchen Blöcken und ignoriert dabei alles was er 'vor' dem ersten BEGIN Block findet (so jedenfalls die einschlägige Literatur). [/quote] ich hab ja in meinem beispiel vorgeführt, dass z.b. ein my() nicht ignoriert wird. ein my ist keine herkömmliche funktion, sondern eben auch eine anweisung an den parser. wenn es ignoriert würde, würde das ganze nicht mit strict laufen. ansonsten versteh ich nicht (ich versteh's wirklich nicht), was du nun für eine aussage machen möchtest. mein beispiel mit strict laufen zu lassen hat jedenfalls keinen gedankenfehler meinerseits offenbart. ansonsten kannst du ja selbst einmal ein code-beispiel mit ausgabe posten, um eine aussage von dir zu untermauern. edit: im übrigen ist es unmöglich, den rest des codes zu ignorieren und nur BEGIN auszuführen. um einen BEGIN-block zu finden, musst du einfach den code bis dahin geparsed haben. ein gezieltes suchen nach BEGIN {} würde ja etwa auch my $string = qq/ BEGIN { blabla }/; finden. und so verstehe ich auch die 'einschlägige literatur': der gesamte code vor BEGIN ist schon geparsed.\n\n <!--EDIT|pq|1089208892--> Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: ![]() ![]() |