I'm experimenting with some operator overloading and I'm getting bitten by the diamond operator. A numeric "less-then" < in list context is parsed as the start of a diamond glob <>
DB<9> sub bla { bless [@_], "Test" } DB<10> package Test; use overload "<" => sub { warn "works" }; DB<11> bla() < bla works at (eval 18) ... DB<12> bla < bla Unterminated <> operator at (eval 20) ...
I'm aware that I could give bla an empty prototype in line 9 or call it with an empty list (like in line 11), or embrace it in brackets, but I need it to swallow a list of args in other parts.
I'm not very confident there is a way but the almighty monastery is always able to surprise me... ;-)
Cheers Rolf
(addicted to the Perl Programming Language and ☆☆☆☆ :)
Wikisyntax for the Monastery
for those wondering, other operators "work"
DB<13> package Test; use overload ">" => sub { warn "works" }; DB<14> bla > bla works at (eval 21)
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |