use Carp; sub example { my %options = ( 'DEBUG' => 0, 'TMPL_PATH' => undef ); my %args = ( %options, @_ ); foreach ( keys %args ) { croak( 'Unknown argument passed to subroutine - ', $_ ) unless exists $options{$_}; } . . }
This code makes use of a second hash for the definition of default values for arguments and incorporates a check for unknown arguments by comparing the keys of the merged hash %args with that of the default values (%options).
In reply to Re: Getting subroutine @_ w/ defaults
by rob_au
in thread Getting subroutine @_ w/ defaults
by Super Monkey
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |