in reply to Re: on to better coding (no uninitialized values)
in thread on to better coding (no uninitialized values)

I prefer to use something like:
sub do_something { my $file = shift || 'default'; }

since this is also conveniently converted to perform an action:
sub do_something { my $file = shift or warn "empty parameter\n"; }

YMMV.