Thread Fehlermeldung bei use constant mit mod_perl *was:security (7 answers)
Opened by bieber at 2009-02-03 09:19

pq
 2009-02-03 16:43
#118623 #118623
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
dein skript wird bei jedem request neu kompiliert, falls du es geändert hast.
zunächst einmal sollte also diese warnung nur auftauchen, wenn du gerade etwas geändert hast.
dann wird jeder apache-prozess, der gerade dran kommt, das skript kompilieren.
nach einem frischen neustart sollte die warning *nicht* auftreten. (falls doch, ist das nochmal
was anderes.)

da eine konstante im prinzip in perl nichts anderes ist als eine spezielle subroutine, wird die
also beim neukompilieren des skriptes neu definiert. da aber perl nicht komplett neugestartet
wird, meckert es, dass es diese subroutine ja schon kennt.
das kannst du folgendermassen umgehen:
Code (perl): (dl )
1
2
3
4
BEGIN {
  no warnings 'redefined';
  use constant ...;
}
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: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Fehlermeldung bei use constant mit mod_perl *was:security