in reply to Re: syntax of defined
in thread syntax of defined
In Perl 5 you need parenthesis directly after the 'if',
Except if you use the if statement modifier
bar() if foo();
Mind you, the statement modifier wouldn't be useful here. The condition operator, on the other hand, would be useful.
$user_input->{end_date} = defined(param('end_date')) ? param('end_date') : param('start_date');
Mind you, param('end_date') can still be called twice for nothing. The following doesn't:
Since 5.10, the above can be simplified to the following:$user_input->{end_date} = param('end_date'); $user_input->{end_date} = param('start_date') if !defined($user_input->{end_date});
The following isn't strictly equivalent, but should do the trick if you want something similar while still supporting earlier versions of Perl:$user_input->{end_date} = param('end_date') // param('start_date');
$user_input->{end_date} = param('end_date') || param('start_date');
|
|---|