This works just fine for me as a "redirect"
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#!/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; }
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>
In reply to Re^4: replace use HTTP::Lite to run a perl file that was on another server
by huck
in thread replace use HTTP::Lite to run a perl file that was on another server
by bNathan
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |