Personally I spend less and less time on making sure methods that are available from outside a package check what their input is. If it's code that at some point might be used by others then i might check some inputs and do a little carping when it's wrong, but Perl is a highly flexible language and it's neigh impossible to account for every possible way someone using your code might screw things up. If the code works and you've accounted for anything *you* could do wrong and the documentation is clear and complete then your job is done in my opinion.sub callmeth { my @arguments = @_; my $scalar = shift(@arguments); my $arrayref = shift(@arguments); unless(ref($arrayref) eq 'ARRAY')) { carp/croak/die/whatever you feel like; } * do stuff here }
Remember rule one...
In reply to Re^2: Parameters to functions
by Forsaken
in thread Parameters to functions
by perl_devel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |