#!/usr/bin/perl -w
my $cgi='/home/huck/cvs/cgi-bins/bt-bin/ut-active.pl';
my $parms='txtstats-1=1';
my $all=get_response($cgi,$parms);
#my $all=get_response("/full/path/to/copyorders_multiple.pl", "refID="
+.&trim($license));
my ($data)=$all=~/\n\n(.*)$/s;
#print $data;
print $all;
sub get_response {
local %ENV=%ENV;
my ($cgi, $CMD) = @_;
## prepare proper (CGI) environment
$ENV{QUERY_STRING} = $CMD;
$ENV{REQUEST_METHOD} = 'GET';
$ENV{GATEWAY_INTERFACE} = 'CGI/1.1';
# add more as needed
open(CGI, "$cgi |") or die "Can't exec $cgi, $!";
local $/ = undef;
my $res = <CGI>;
close(CGI) or die "Error running $cgi, $!";
return $res;
}
so i dont know what to say, perhaps what Hippo says in Re^4: replace use HTTP::Lite to run a perl file that was on another server is the problem, or you could look in the error log, mine is at /var/log/apache2/error.log, YMMV
Notice i printed $all, so all the proper headers would be returned to the browser
EDIT: "as a redirect", means that going to http://lxle0/bt-bin/fakecgi.pl returned the same as going to http://lxle0/bt-bin/ut-active.pl?txtstats-1=1. This is an internal server running apache2 on lxle (ubuntu) and in /etc/apache2/apache2.conf there is
ScriptAlias /bt-bin/ /home/huck/cvs/cgi-bins/bt-bin/
<Directory /home/huck/cvs/cgi-bins/bt-bin/>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AllowOverride None
Satisfy Any
# Require all granted
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
|