Thread Unterschiedliches Verhalten lokal/Internet: Im Internet wie erwartet, auf lokalem ko (16 answers)
Opened by Barnabas at 2007-06-04 16:52

pq
 2007-06-04 23:28
#29040 #29040
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das skript läuft vermutlich unter modperl registry.
denselben effekt kannst du auf der kommandozeile mit dem folgenden
code erzeugen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ perl -wle'
{
package foo;
sub handler {
my $zahl;
sub getinc {
  $zahl++;
  print "*** \$zahl(2): $zahl ***<br>";
}
getinc();
}
}
foo::handler();
foo::handler();
foo::handler();
'
Variable "$zahl" will not stay shared at -e line 7.
*** $zahl(2): 1 ***<br>
*** $zahl(2): 2 ***<br>
*** $zahl(2): 3 ***<br>

man sollte keine subroutinen verschachteln; durch Apache::Registry
wird aber dein skript in eine weitere sub handler() verschachtelt.
also solltest du subroutinen möglichst auslagern oder zumindest keine variablen
von aussen in der sub benutzen.
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 Unterschiedliches Verhalten lokal/Internet: Im Internet wie erwartet, auf lokalem ko