in reply to Re: Calling a cgi with another cgi
in thread Calling a cgi with another cgi

jtrue: It looks like your scheme would work - however, there is a problem. If I DO NOT use the header "print "Content-type: text/html\n\n";" this script will not run. Just gives the dreaded "Internal Server Error" message. Maybe I cannot redirect from a script that uses this header - because it just won't run without it?? Should I just abandon the idea?

Replies are listed 'Best First'.
Re: Re: Re: Calling a cgi with another cgi
by true (Pilgrim) on Oct 17, 2002 at 07:21 UTC

    Donnie, Don't give up just yet. Make sure you don't print anything to STDOUT before you output the Location redirect. Try this code on your server as is, then add your code, avoid printing to STDOUT.

    #!/usr/bin/perl -w use strict; #!/usr/bin/perl #Your Perl Program here #DO NOT output anything to STDOUT print "Location:http://www.google.com/search?q=perl\n\n"; #OUTPUT ANYTHING OR NOTHING ##Your Perl Program here exit;

    Things you probably know anyway.

  • Apache is the guy doing the work here.
  • Perl doesn't know you are 'redirecting' it anywhere.
  • HTTP HTTP/1.x is a protocal in and of itself.
  • Read about the HTTP Location Header here
  • The above code works on Apache 1.3.6 with perl5.005
  • Here's a working link to prove it.
  • http://perl.to/d.cgi?pm=Donnie

    jtrue