Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-04-20 04:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found