in reply to Re: CGI and Perl
in thread CGI and Perl

Here is the code I am using and it doesn't seem to be working.

#!d:/perl/bin/perl.exe -w require "authenticate.pl"; #If not authorized then don't continue exit if (! &AdminLogin); #If authorized then build the appropriate page. $perl = sub { qx/perl createHTML.pl htmt=admin.htmt xml=webboard.xml xsl=listbox.x +sl/; }; print "Content-Type: text/html \n\n"; print "OUTPUT: " . &$perl;

It is running the createHTML.pl cgi script but it that script doesn't appear to be getting the query string to be parsed. It still recieves everything in @ARGV? adn &ReadParse; isn't parsing it.

Replies are listed 'Best First'.
Re: Re: Re: CGI and Perl
by Fastolfe (Vicar) on Dec 22, 2000 at 21:27 UTC
    Either build createHTML.pl as a normal script accepting normal arguments, or use CGI.pm and use it as a CGI script. Be advised that you'll probably end up printing two sets of CGI headers doing this, though (at least how your code is set up now). I have no idea what &ReadParse is (some cgi-lib.pl thing?), so I can't tell how it's attempting to parse your command line. I suspect CGI.pm will pick it up fine (and if not, try adding the -debug option to the 'use' option list for CGI).

    If you're going to be doing a lot of this type of thing, you might be better off turning createHTML.pl into a module, and 'use'ing that module in this script, and a new, simplified createHTML.pl script. That would let you avoid having to spawn off new Perl scripts to do additional processing.

Re: Re: Re: CGI and Perl
by runrig (Abbot) on Dec 22, 2000 at 21:30 UTC
    Does createHTML import the -debug flag?:
    use CGI qw(-debug); # or something like: use CGI qw(:standard -debug);