in reply to Re: Assigning default values to function arguments which may be “empty”
in thread Assigning default values to function arguments which may be “empty”

Esp. syntax #2 looks a little overcomplicated, why not:

sub f { length or $_ = "default value" for my $var = shift; do_something_with($var); }
But in my humble opinion I'd prefer for the sake of clarity:
sub f { my $var = shift; for ( $var ) { last if length; $_ = $DEFAULT; } ... }