I'm running a CGI program under mod_perl, and am getting erratic
behavior. Every 3 or 4 hits, a variable will be undefined. Fortunately,
the program does enough sanity checks to barf when some vital data is
missing... One variable that seems particularly prone to disappear is the
$table variable (see below).

The CGI program has multiple "pages" of potential output depending on the
action requested, and variables are passed around these pages using hidden
input tags. Pretty standard stuff. Here's some sample code:

   # UltraForm2 is a module/API I've made. Not a CPAN module...
   use UltraForm2;
   $uf = new UltraForm2;
   $profile = $uf->getformdata('UF','profile') || &print_loginpage;
   $uf->readprofile($profile)
      || $uf->error("Cannot read the specified profile: $profile");
   $table = $uf->getprofilekeyword('db_table');
   ($table)
      || $uf->error("No db_table was specified in the profile \'$profile\'");

Not pictured here: All of these variables are my()'d at the top of the
program, "use strict" is used, and the programs checks out just fine with
"perl -cw"

Like I said, it works just fine, then after 3 or 4 hits, the $table
variable is suddenly null/undef. This does not occur when the program is
run via standard CGI.

I read the cgi_to_modperl document, and none of the mentioned pitfalls
about loading packages seemed to apply here... Where do I start looking to
find the problem?

-gm


Reply via email to