Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

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
Comment on Debugging the CGI environment
Download Code
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

Back to Snippets Section

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (10)
As of 2014-07-25 07:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (169 votes), past polls