Woops... Not sure why I focused on $r, which shouldn't be related to the problem here. Sorry. :)
All of your variables are declared with my... Are any of the variables declared outside of a subroutine, and then used inside a subroutine?
my $var = rand;
sub do_something {
print "$var\n";
}
That will lead to the 'Variable "$var" will not stay shared' error, and $var in do_something will keep the same value it had the first time do_something was called, including previous calls from earlier executions of the script in the same mod_perl fork.
Since the behavior is different under mod_perl, my first thought is to check on the differences between running normally and running under mod_perl... If that's not it, I'll work on thinking of other possible causes for this odd behavior. Although at that point you may want someone with more experience with the XML modules. :) |