Use of uninitialized ... nur wo ?

12/03/2008 - 00:21 von ch_pingel | Report spam
Hallo,

ich parse ein Template-HTML-File und will dann in den entsprechenden
Formularfeldern automatisch die richtigen Werte setzen. Es
funktioniert auch.

Aber - jetzt hab ich mal das Script per perl -w laufen lassen. Da
finde ich dann für jede Zeile des Template-Files (auch für die, wo
sich der entsprechende Text befindet) folgendes:

"Use of uninitialized value in string ne at /pfad/zum/script/test.cgi
line 1682, <TEMPLATE_FILE> line 888."

Wenn ich jetzt in das Script schaue, steht an Zeile 1682 folgendes:

if($value1==1 && $value2==1 && /NAME=\"TEST\"/ && /VALUE=\"1\"/)
{
#mach was
}

Die Variable $value1 hat zu dem Zeitpunkt den Wert 1 und $value2 hat
den Wert 4 (es kommen noch weitere Überprüfungen, wo dann auf 1 und 4
geprüft wird) Das Template-File gehe ich zu dem Zeitpunkt per
while(<TEMPLATE_FILE>) durch und in $_ steht die aktuelle Zeile.

Die 1 und die 4 stehen in einem Config-File ... dort steht "1&4" drin
und ich split'e den String beim "&" in $value1 und $value2.


Nur ... wo ist da jetzt ein nicht initialisierter Wert ? ... oder sehe
ich da grad den Wald vor lauter Bàumen nicht ?


MFG,
Christoph
 

Lesen sie die antworten

#1 J. Strübig
12/03/2008 - 11:36 | Warnen spam
schrieb:
ich parse ein Template-HTML-File und will dann in den entsprechenden
Formularfeldern automatisch die richtigen Werte setzen. Es
funktioniert auch.



Mit dem Modul HTML::Template?

Aber - jetzt hab ich mal das Script per perl -w laufen lassen. Da
finde ich dann für jede Zeile des Template-Files (auch für die, wo
sich der entsprechende Text befindet) folgendes:

"Use of uninitialized value in string ne at /pfad/zum/script/test.cgi
line 1682, <TEMPLATE_FILE> line 888."

Wenn ich jetzt in das Script schaue, steht an Zeile 1682 folgendes:

if($value1==1 && $value2==1 && /NAME=\"TEST\"/ && /VALUE=\"1\"/)
{
#mach was
}

Die Variable $value1 hat zu dem Zeitpunkt den Wert 1 und $value2 hat
den Wert 4 (es kommen noch weitere Überprüfungen, wo dann auf 1 und 4
geprüft wird) Das Template-File gehe ich zu dem Zeitpunkt per
while(<TEMPLATE_FILE>) durch und in $_ steht die aktuelle Zeile.



D.h. $_ kann auch undefinierte Werte haben?

Struppi.

Ähnliche fragen