in reply to Why doesn't Perl provide %_ as the hash equivalent of @_ in subs?
It would be silly to always create a hash from the arguments.
- Extremely expensive where it's not needed.
- Causes warnings if you pass undef at even indexes.
- Causes warning if you pass an odd number of arguments.
- Useless for methods.
- Useless for sub that have any positional parameters.
So either create it yourself (local %_ = @_; or alias local %_ = @_;) when it's acceptable, or create an attribute you can specify on a sub which does it for you (e.g. sub foo :named_args { ... }).
|
---|
In Section
Meditations