You could get really fancy if you wanted. When validating input via CGI I ususally use $err_msg as a flag. I use it like this:
############ VALIDATE USER DATA #############
my $err_msg = '';
# check valid date format
$err_msg .= "<p>Wrong date format '$date', use YYYY-MM-DD\n"
unless $date =~ m#(\d{4})\-(\d{2})\-(\d{2})#;
my $year = $1 || '';
my $month = $2 || '';
my $day = $3 || '';
# check year
$err_msg .= "<p>Invalid year '$year'\n" unless $year > 1970 and $year
+< 2100;
# check month
# blah
# check day
# blah
# check other input adding error messages to $err_msg
do { show_error_page($err_msg); exit } if $err_msg;
########### ONLY GET HERE IF INPUT VALID ##########
do_work()
I like this because you validate all your input and respond with a comprehensive error message(s). You use $err_msg (which contains elpanatory error text) as the flag, killing two birds with one scalar.
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
|