http://www.perlmonks.org?node_id=1025326


in reply to Re^3: How to check if a variable's value is equal to a member of a list of values
in thread How to check if a variable's value is equal to a member of a list of values

> 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.