in reply to Re: Help with argument to a subroutine
in thread Help with argument to a subroutine

Veering OT for a moment...

Stylistically, I prefer the

my ($header) = @_;

method of receiving arguments, but always end up doing it the other way for the sake of being able to specify defaults when not all arguments are passed:

my $arg0 = shift || 'foo'; my $arg1 = shift || 'bar'; my $arg2 = shift || 'baz';
Is there a concise way to get this same functionality when using the my ($arg) = @_ method?

Replies are listed 'Best First'.
Re^3: Help with argument to a subroutine
by ikegami (Patriarch) on May 15, 2006 at 21:45 UTC
    It would be quite ugly:
    my @defaults = qw( foo bar baz ); my ($arg0, $arg1, $arg2) = map { $_[$_] || $defaults[$_] } 0..$#_;