perlquestion
thelenm
This question has been on my mind quite a bit, but I haven't found a good answer anywhere online or in the O'Reilly books:
<P>
What is the preferred style for assigning default values to subroutine parameters? I have been using the following in some cases:
<CODE>
sub mysub {
my $foo = shift || 'default';
# do stuff
}
</CODE>
<P>
But this breaks down when '0' (or some other "false" value) is a valid parameter value. I'd like to test whether the parameter is defined, and only assign a default if it is undefined. The best I have come up with is:
<CODE>
sub mysub {
my $foo = shift; $foo = 'default' unless defined $foo;
# do stuff
}
</CODE>
But what a pain to type. Is there a shorter/better way?