in reply to Re^2: Passing Args via Exec
in thread Passing Args via Exec

OK, I'm now trying the following parent called new3.cgi -
#!/usr/bin/perl -w use strict; $|++; $ENV{PATH} = "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/ +sbin"; use CGI qw(:all delete_all escapeHTML); print header(), start_html(-title => "Traceroute Results"); print h1("Traceroute Results"); #open STDERR, ">&=1"; exec '/usr/bin/perl', '-T', 'child.pl', 'number=4' or die "Cannot exec +ute : $!"; print end_html;

I call this on the command line with perl new3.cgi and get -
Content-Type: text/html; charset=ISO-8859-1 <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-U +S"><head><title>Traceroute Results</title> </head><body><h1>Traceroute Results</h1>param: 4 Command line reporter Called with 1 parameters which was 1: number=4 * *
I then call this with my browser and get -
Traceroute Results param: Command line reporter Called with 1 parameters which was 1: num +ber=4 * *

but if I uncomment the line - open STDERR, ">&=1"; I get -
Traceroute Results Use of uninitialized value in concatenation (.) or string at child.pl +line 10. param: Command line reporter Called with 1 parameters which +was 1: number=4 * *

The command line call is working fine, the browser calls are not
So I'm guessing my problem has something to do with buffering. Any suggestions?

Replies are listed 'Best First'.
Re^4: Passing Args via Exec
by Anonymous Monk on Aug 28, 2004 at 19:01 UTC
    I'm still having no luck with this guys, any ideas as to the problem? Has anyone tried running my code to see if it works on their platform? Cheers.