Hi Brett,

My guess is that you run into a problem of the CGI module not resetting itself 
between executions of your code.

As a test you could try entering the line.

CGI::initialize_globals();

explicitly in your script before calling param().

2012-01-02 22:41, Brett Lee wrote:
Hello,

First, thank you very much for your time & consideration of this problem,

Have been trying to resolve an issue without success. The issue I'm seeing is 
that calling the same script several times within a SSI-parsed file
causes each invocation of the script to produce the same result even though 
different results should be seen.

To clarify, please find inlined below an example SSI-parsed file and script:

<!-- file test.shtml -->
<html>
<head></head>
<body>
<!--#include virtual="/cgi-bin/test.cgi?count=5"-->
<!--#include virtual="/cgi-bin/test.cgi?count=10"-->
<!--#include virtual="/cgi-bin/test.cgi?count=30"-->
</body>
<html>

#!/usr/bin/perl -w
# test.cgi
use strict;
use CGI qw(-compile :all);
my $count = param('count');
my $a = 0;
print header;
while ( $a < $count) {
print ++$a;
}

When run from the default /var/www/cgi-bin/ directory, execution works as 
expected; results are 1..5, 1..10 and 1..30. However, when the executable is
run from the ModPerl Registry directory below, each invocation counts only to 5.

<Directory /var/www/registry>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
# PerlOptions +ParseHeaders (prevented 2+ invocations)
Options +ExecCGI
</Directory>

Sure seems like "something" is caching part or all of the command/param. Hoping 
to find out what.

Once again, thanks for your time & consideration.

Note: previously posted at: http://www.perlmonks.org/?node_id=945804

Best regards,
- -
Brett Lee
Encrypt your data with PDS - http://crypto.brettlee.com/


--
  Mårten Svantesson
  Senior Developer
  Travelocity Nordic
  +46 (0)8 505 787 23

Reply via email to