in reply to Re: Checking for empty CGI params; this isn't working
in thread Checking for empty CGI params; this isn't working

I want to check to see if either telephone or mobile is entered, only one has to be entered to get through and your last post did not work
elsif( length(param('tele')) || length(param('mobile')) ) { error("You need to enter either a telephone or a mobile"); }

Replies are listed 'Best First'.
Re[3]: Checking for empty CGI params; this isn't working
by mrbbking (Hermit) on Jul 14, 2002 at 18:03 UTC
    I don't write a lot of CGI programs, so I'm not going to be an authority on use of the param() function -- but it may be complicating that line more than necessary. I'm guessing that you call it on these two fields at least twice - once (here) to see if its empty, and again later to use it.

    You may want to take that out of the question by assigning each to a scalar value. Then this works:

    my $tele = ''; my $mobile = ''; # uncomment to pass # $tele = 'hello'; if( length($tele) || length($mobile) ){ print 'At least one is OK'; } else { print 'both are empty'; }