Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Debugging the CGI environment

by grinder (Bishop)
on Jan 23, 2002 at 19:31 UTC ( [id://140903]=CUFP: print w/replies, xml ) Need Help??

I finished a CGI script yesterday that did some fiddly things with various environment variables, and carried various settings in hidden form fields. It became a hassle to print out the various values of things from time to time, so in the end I just used the following snippet to dump (or not) the values of the environment and the CGI post parameters.

Just flip from 0 to 1 when you need to display the contents to figure out what's what.

merlyn is quite right. I have successfully reinvented the Dump method. Having played with both now, all I can say in my defense is that the output from this snippet is more compact.

# assuming my $q = new CGI; 0 and print $q->ul( $q->li( [ map { "env $_ => $ENV{$_}" } sort keys % +ENV ] )); 1 and print $q->ul( $q->li( [ map { "param $_ => @{[$q->param($_)]}" } + sort $q->param() ] )); 2 and print $q->Dump; # RTFM

Replies are listed 'Best First'.
Re: Debugging the CGI environment
by merlyn (Sage) on Jan 23, 2002 at 20:07 UTC
    Check out CGI's Dump method, already in there!
    DUMPING OUT ALL THE NAME/VALUE PAIRS The Dump() method produces a string consisting of all the query's name/value pairs formatted nicely as a nested list. This is useful for debugging purposes: print $query->Dump Produces something that looks like: <UL> <LI>name1 <UL> <LI>value1 <LI>value2 </UL> <LI>name2 <UL> <LI>value1 </UL> </UL> As a shortcut, you can interpolate the entire CGI object into a string and it will be replaced with the a nice HTML dump shown above: $query=new CGI; print "<H2>Current Values</H2> $query\n";

    Also, beware! You should HTML-entitize your output, or not use text/html, when you do this.

    -- Randal L. Schwartz, Perl hacker

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: CUFP [id://140903]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2024-04-21 21:54 GMT
Find Nodes?
    Voting Booth?

    No recent polls found