Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: How to debug CGI scripts?

by eXile (Priest)
on Aug 26, 2006 at 17:27 UTC ( #569819=note: print w/replies, xml ) Need Help??

in reply to How to debug CGI scripts?

I second (or third ..) the commandline debugging. You can add parameters to a script using CGI like this:
# arg1=value1 arg2=value2 arg3=value3

A nice trick I've learned is that you can use the -t test operator (tests if stdin is a terminal) to do command line debugging that won't show up if your script is ran on a webserver, something like:

#!/usr/bin/env perl use strict; use warnings; use CGI qw(param header); $|=1; my $cgi = new CGI; my @params = $cgi->param(); if (-t) { print "cmdline mode!\n"; } else { print $cgi->header(); } my $fmt; if (-t) { $fmt = "%s:%s\n"; } else { $fmt = "%s:%s<br/>\n"; } foreach my $p (@params) { # normally you'd make sure stuff is untainted here # but this is for demo purposes so I left it out printf($fmt, $p, $cgi->param($p)); }

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2021-04-17 17:10 GMT
Find Nodes?
    Voting Booth?

    No recent polls found