http://qs321.pair.com?node_id=706766


in reply to Re^5: Effeciency of key-only hash
in thread Effecicncy of key-only hash

If you want to omit characters, you can write
my %hash = map $_=>1, qw(shave the modern way);

Interestingly, you can't. If you want to remove the block you need to have

map +($_ => 1), ...
as => is a comma, so what you actually wrote is equivalent to these two statements below.
my %hash = map $_, 1, qw(shave the modern way); my %hash = map { $_ } 1, qw(shave the modern way);

(If you write map ($_ => 1), LIST the "function rule" kicks in and it becomes map($_ => 1), LIST i.e. (map $_, 1), LIST.)

This means that you can write

map f($_) => LIST
which one could read declaratively as "map the function f onto the list I'm pointing at". Personally though I usually think of map as acting in the other direction, "shifting" of one element at a time from the list.

lodin