in reply to lazy map question
Substitute this for your map
Or better, omit the curlies around the map and pass the reference direct.
do{ my %h; @h{ 0 .. $#a } = @a; \%h }; [download]