Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Debugging the CGI environment

by grinder (Bishop)
on Jan 23, 2002 at 19:31 UTC ( #140903=snippet: print w/ replies, xml ) Need Help??
Description: 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
Node Status?
node history
Node Type: snippet [id://140903]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (8)
As of 2016-07-28 13:21 GMT
Find Nodes?
    Voting Booth?
    What is your favorite alternate name for a (specific) keyboard key?

    Results (255 votes). Check out past polls.