Gibt es einen Perl-Validator?
Siechfred
- perl
0 Christoph Schnauß0 MudGuard0 timothy0 Siechfred
N'abend zusammen,
ich habe das Problem, dass durch meine Schusseligkeit oft Fehler in meinen Perl-Scripten sind, die einfach nur lästig sind (fehlendes End-", geschweifte Klammer statt runder Klammer, § statt $ etc.).
Deshalb meine Frage: Gibt es einen Perl-Validator, der mir hilft, meine Perlen vor dem Upload zumindest auf diese (Flüchtigkeits)Fehler zu prüfen (so in etwa wie der W3C-Validator).
mfg Siechfred
guten Abend ebenfalls,
ich habe das Problem, dass durch meine Schusseligkeit oft Fehler in meinen Perl-Scripten sind, die einfach nur lästig sind (fehlendes End-", geschweifte Klammer statt runder Klammer, § statt $ etc.).
Da bist du nicht der einzige. Sowas passiert (zumindest bei umfangreicheren Scripten) durchaus auch geübten Leuten und ist grundsätzlich erstmal keine Schande.
Deshalb meine Frage: Gibt es einen Perl-Validator, der mir hilft, meine Perlen vor dem Upload zumindest auf diese (Flüchtigkeits)Fehler zu prüfen (so in etwa wie der W3C-Validator).
Nein. Oder besser: ist mir nicht bekannt.
Ein solcher "Validator" ist aber auch nicht zwingend nötig, weil die diversen Fehlermeldungen sehr präzise ausfallen. Du hast mindestens zwei Optionen:
Bisweilen kann es natürlich schwierig sein, Meldungen wie "premature end of script headers ..." korrekt zu interpretieren. Da kann aber dann das Forum gewiß helfen.
Grüße aus Berlin
Christoph S.
Moin,
Ein solcher "Validator" ist aber auch nicht zwingend nötig, weil die diversen Fehlermeldungen sehr präzise ausfallen. Du hast mindestens zwei Optionen:
- um "verbose" Meldungen zu erhalten, läßt du ein neues Script grundsätzlich erstmal mit dem Schalter -w laufen. Der sorgt dafür, daß du (wenn es ein CGI-Script ist) im Server-log ausführliche Hinweise bekommst.
- zum Prüfen läßt du ein Script immer zuerst einmal von der Konsole (Eingabeaufforderung) aus ausführen - mit dem Befehl "perl scriptname". Auch da bekommst du notfalls die Zeile gesagt, in der irgendetwas verkehrt ist.
Hmm, die Option -w ist bei allen Scripts enthalten, auch das berühmt-berüchtigte "use CGI::Carp qw(fatalsToBrowser)". Ich will einfach nur die lokale Installation von Perl und Apache zum Script-Testen umgehen, da es (wie gesagt) in 99% der Fälle nicht an der Syntax, sondern an den o.g. Flüchtigkeitsfehlern liegt. Und Scripte erst hochzuladen, nur um dann festzustellen, dass man ein quot vergessen hat, ist einfach nur lästig.
mfg Siechfred
hi,
Hmm, die Option -w ist bei allen Scripts enthalten, auch das berühmt-berüchtigte "use CGI::Carp qw(fatalsToBrowser)".
Gut so - den Schalter kannst du, sobald ein Script korrekt läuft, wieder rausnehmen.
Ich will einfach nur die lokale Installation von Perl und Apache zum Script-Testen umgehen, da es (wie gesagt) in 99% der Fälle nicht an der Syntax, sondern an den o.g. Flüchtigkeitsfehlern liegt.
Ähm, da verstehe ich was nicht ganz. Wieso willst du deinen lokalen Apache "umgehen"? Sei froh, daß du ihn zum Testen und Prüfen hast, genau dazu eignet er sich doch hervorragend. Und was sind deine "Flüchtigkeitsfehler" denn anderes als inkorrekte Syntax?
Und Scripte erst hochzuladen, nur um dann festzustellen, dass man ein quot vergessen hat, ist einfach nur lästig.
Genau deshalb solltest du sie ja erstmal über den lokalen Apache testen
Christoph S.
Hi,
Deshalb meine Frage: Gibt es einen Perl-Validator, der mir hilft, meine Perlen vor dem Upload zumindest auf diese (Flüchtigkeits)Fehler zu prüfen (so in etwa wie der W3C-Validator).
perl -wc DeinPerlFile
führt den Syntax Check durch...
cu,
Andreas
Hi,
Ebenso
perl -wc DeinPerlFile
hab das gerade mal probiert, DOS-Box öffnet und schließt sich innerhalb einer Sekunde. Heißt das, dass das Script i.O. ist (vermute ich), oder gibt es sowas wie eine PAUSE.
mfg Siechfred
Hi,
perl -wc DeinPerlFile
hab das gerade mal probiert, DOS-Box öffnet und schließt sich innerhalb einer Sekunde. Heißt das, dass das Script i.O. ist (vermute ich), oder gibt es sowas wie eine PAUSE.
Man kann das irgendwo konfigurieren im Windows, daß die Dosbox immer offen bleibt.
Oder Du machst erst die Dose auf und führst den Befehl in der Dose aus, dann bleibt das Dosenfenster auch offen.
cu,
Andreas
Hi Siechfred
wenn du etwa 60,- ans Bein binden willst, dann schau dir mal OptiPerl an. Eine Perl-IDE - gar nicht mal so schlecht. Die sagt dir, wenn du eine Klammer vergessen hast. Mit integriertem Webserver zum Testen von CGIs, RegExp-Tester, Perl-Tidy und, und, und ...
http://www.xarka.com/optiperl/
Bye
Timothy
Danke, Forum,
werde wohl doch den Apachen zum Testen lokal einrichten.
mfg Siechfred