my &part ::= &List::Part::part.assuming(labels => <<sheep goats>>)
That makes part() an alias for List::Part::part(), but with the named parameter labels specified as the array [“sheep”, “goats”] (the <<>> is like qw in Perl5).
As for the rest of that: My god. I’m pretty I think it’s brilliant, but it’s also overwhelming and totally, uh... outlandish? Just what you’d expect from Perl, I guess.
I was trying to explain to someone today: the thing about Perl is that you have to appreciate the culture of the language to use it well or appreciate it. More structured languages are like robot-speak, while Perl is the slang spoken on the street; robot-speak is easier to pick up when you aren’t from the streets, but once you understand the streets there’s a lot of subtle qualities in it that you don’t find in robot-speak.
(I’m still unsure whether I’d ever use Perl for a personal project, though...)