NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
A common workaround (Score:1)
my %hash;
%hash{@array} = 1 xx @array;
Actually I like that better than the map, but I agree it sucks that the map version doesn't work right now.
Reply to This
Re: (Score:1)
I think I like it better too. Just gotta internalize it :)
Hm, once laziness is in place, one could even do '1 xx *'. That pleases me.
Re: (Score:1)
Some variation on this ought to work:
That would seem like the most direct expression of what one wants.
But I can’t quite figure out the right incantation.
Re: (Score:1)
This should work indeed, but currently suffers from a lack of list flattening in Rakudo. Specifically
my @a = <a b c>;
say (@a X 1).perl; # ("a", 1, "b", 1, "c", 1)
say (@a X 1).elems; # 3
And then the hash assignment complains about an odd number of elements.
One can explictly construct Pair objects though:
my %h = @a X=> 1;
say %h.perl; # {"a" => 1, "b" => 1, "c" => 1}
Which is maybe a bit prettier than colomon's solution, but we can argue about that :-)
Re: (Score:1)