Fehlermeldungen in Perl wie beheben (Globale Var., Dateinamen)
Hannes
- perl
0 Cheatah
Ich habe auf euer Raten "use strict" eingefuegt. Nun hab ich folgende Fehlermeldungen
1.) Globale Variablen muessen irgendwie angemeldet werden
Global symbol "$Daten" requires explicit package name at ea.plx line 17.
2.)Variablen muessen importiert werden?!
Variable "%INPUT" is not imported at ea.plx line 34.
3.) Unterschiedliche Dateien werden in verschiedenen Prozeduren scheinbar falsch deklariert
Unquoted string "datendatei" may clash with future reserved word at ea.plx line 658.
Quelltextbeispiel:
open(indexdatei, '<../formulare/'.$INPUT{"formular"}.'.flt')
while(<indexdatei>)
{
if ($kopf eq "ja") {$kopftext=$kopftext.$_;}
}
close(indexdatei);
Woran liegt das?
Punkt 1 kann ich gut verstehen - ich hab nur gerade die Deklaration nicht zur Hand.
Punkt 2 ist wahrscheinlich geloest, wenn ich "Input" global deklariere (oder?)
Punkt 3 verstehe ich jedoch nicht.
Vielen Dank für Eure hilfe
Hannes
Hi,
Ich habe auf euer Raten "use strict" eingefuegt.
sehr schön :-) Benutzt Du auch den w-Switch? (#!/usr/bin/perl -w)
1.) Globale Variablen muessen irgendwie angemeldet werden
Global symbol "$Daten" requires explicit package name at ea.plx line 17.
perldoc -f my
perldoc vars
2.)Variablen muessen importiert werden?!
Variable "%INPUT" is not imported at ea.plx line 34.
Wie sieht der Zusammenhang dieses Fehlers aus? Was ist "um Zeile 34 herum"?
Btw: perldoc perlstyle, Variablennamen sollten durchgehend klein sein (bis auf bestimmte Ausnahmen).
3.) Unterschiedliche Dateien werden in verschiedenen Prozeduren scheinbar falsch deklariert
Unquoted string "datendatei" may clash with future reserved word at ea.plx line 658.
Nenn es DATENDATEI, wie für Handler üblich - siehe auch perldoc perlstyle.
open(indexdatei, '<../formulare/'.$INPUT{"formular"}.'.flt')
Dies läßt darauf schließen, daß Du folgendes nicht kennst:
perldoc CGI
perldoc -f die
perldoc perlopentut
if ($kopf eq "ja") {$kopftext=$kopftext.$_;}
perldoc perlfaq4, What's wrong with always quoting "$vars"?
perldoc perlop, .=
ich hab nur gerade die Deklaration nicht zur Hand.
Huh? Meinst Du die Doku? Wenn Du sie nicht zu Hause hast, solltest Du unbedingt Perl installieren. Bis dahin hilft Dir http://www.perldoc.org/.
Cheatah