> I was not previously familiar with the ability to suck an entire array into a hash
it's called "hash slice"! see perldata#Slices
> using this method, how would I set each hash key to a defined static value?
assign a list of same length
DB<156> @array=1..5
=> (1, 2, 3, 4, 5)
DB<157> @hash{@array} = ('my val') x @array
=> ("my val", "my val", "my val", "my val", "my val")
DB<158> \%hash
=> { 1 => "my val", 2 => "my val", 3 => "my val", 4 => "my val", 5 =>
+ "my val" }
Cheers Rolf
( addicted to the Perl Programming Language)
UPDATE
for completeness TIMTOWTDI:
$hash{$_}="my val" for @array
has less of a memory footprint.
and
my %hash = map { $_ => "my val" } @array;
is DRYer and makes sure the whole hash is reinitiated. |