renormalist has asked for the wisdom of the Perl Monks concerning the following question:
I want to overload an operator (ideally '~~') but want the result to be a list. It seems like that's not possible, the list is only handled like in scalar context.
Example:
perl -MData::Dump -E 'package Foo; use overload q{~~} => sub { return +(111, 222, 333) }; $o = bless {}; Data::Dump::dump($o ~~ "whatever") +; say "But I want: 111, 222, 333"'
The only operator that naturally seems to handle lists is <>, but that doesn't visually/semantically fit to my problem. And returning array-refs is my strategy of last resort.
An answer, that operators generally cannot return lists would also be ok. I'm not able to find such a sentence in perldoc overload or the Camel book.
Thanks.
Kind regards,
Steffen
|
---|