in reply to Re: Re: "or" or "||" problems
in thread "or" or "||" problems

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