http://www.perlmonks.org?node_id=654913


in reply to Re^2: Format Style Opinions: my, ternary, subroutine
in thread Format / Logical Expression / Style Opinions: my, ternary, subroutine, @_

I understand your nervousness about extra arguments, but I've learned that they don't really matter in Perl. An analogy that comes to mind is filling a glass of water. If I hand you a cup and you pour a gallon of water into it, all I get back is a cup. I might make fun of you for being so sloppy, but who cares? After all, I have the cup of water that I wanted.

Still, if it is important to you, you can enforce it with logic in your sub.

sub xyz { my $xxx = shift || croak('Missing xxx parameter'); my $yyy = shift || croak('Missing yyy parameter'); my $ttt = shift; # Enforce length of function parameter list. if (@_) { croak('Too many args for xyz!'); } # ... }

... but things like that risk making the code a little harder to read.