Thread CGI::XHTML_DTD redefined (36 answers)
Opened by Escape at 2010-01-24 01:12

sid burn
 2010-01-24 16:58
#131148 #131148
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Wenn im Modul "CGI" selber die constante zwei mal definiert wird, dann kommt es zu solch einem warning. Der springende Punkt ist aber. Solch ein warning kommt nur dann wenn auch warnings aktiviert wurde.

Die Sache ist nun folgende. Wenn du den "-w" Schalter nutzt dann aktivierst du "Global" die warnings in allen Modulen. Wenn du "use strict;" nutzt dann aktivierst du die warnings nur in deiner aktuellen Datei. Wenn du die Globale Variante nutzt kannst du also möglicherweise warnings sehen die deinen Code nicht betreffen, da andere ohne warnings Programmiert haben und diese nicht beachtet haben.

Von daher kann dies das Problem Lösen indem du nicht mehr "-w" nutzt sondern "use warnings;".

Ansonsten kann solch ein Fehler auch vorkommen wenn du Apache2::Reload nutzt. Also wenn Module "forciert" neu geladen werden. Allerdiengs dürftest du dann einen haufen weiterer Meldung sehen anstatt nur diese einelne Zeile.

Ansonsten wird diese konstante im Modul "CGI" definiert. Wenn du dir mal den Sourcecode anschaust diehst du das relativ weit oben.: http://cpansearch.perl.org/src/LDS/CGI.pm-3.48/lib...

Allerdiengs ist dort eine Definition auskommentiert. Zumindest in der neusten Version. Kann auch sein das du eine alte Version hast wo die alte Definition nicht auskommentiert wurde, und es zu solch einem Fehler kommt. Eventuell hilft es auch wenn du einfach mal "CGI" updatest.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread CGI::XHTML_DTD redefined