in reply to Re: Re: Another posible initializer
in thread Testing array of hash values

Yes indeedy. So then, to complete this exercise and return to your very legitimate concern above about maintaining this code if the number of arguments changes, we can use:
my %p; my @keys = qw( a b c ); @p{@keys} = (1) x @keys;
and slice assignment will take care of itself if we change the key list.