in reply to passing subroutine arguments directly into a hash
sub f { my %hash; @hash{ qw/ h s d / } = @_; # ... } [download]
(That hash slice is equivlent to ($hash{h}, $hash{s}, $hash{d}).)