OK, there's been this recent discussion on
comp.lang.perl.misc, and it's gotten perverse enough to drag one of the postings over to the monestary.
A simple mechanism to turn a list of comma-separated-values into a list of hashrefs, each hashref naming the fields from the comma-separated-values. When we got to using the term "hashificator", I knew it needed a wider audience. Enjoy!
According to Anno Siegel <anno4000@lublin.zrz.tu-berlin.de>:
> According to Randal L. Schwartz <merlyn@stonehenge.com>:
>
> [...]
>
> > More perversely perlish:
> >
> > @game = map +{
> > (qw/name score date/, split /,/)[0,3,1,4,2,5]
> > }, @scores;
> >
> > Do Not Try This At Home. :)
>
> Ah... retro-hashification of the unwieldy. I knew there had to
> be something like that.
...and it generalizes:
my @keys = qw/name score date comment/;
my @hashificator = map( ( $_, $_ + @keys), 0 .. @keys - 1);
@game = map +{
(@keys, split /,/)[ @hashificator]
}, @scores;