LanX has asked for the wisdom of the Perl Monks concerning the following question:
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)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Disabling the interpretation of diamond <> operator in package?
by haj (Vicar) on Apr 10, 2018 at 17:26 UTC | |
by LanX (Saint) on Apr 10, 2018 at 17:48 UTC | |
|
Re: Disabling the interpretation of diamond <> operator in package?
by jimpudar (Pilgrim) on Apr 10, 2018 at 00:20 UTC | |
by LanX (Saint) on Apr 10, 2018 at 00:52 UTC | |
|
Re: Disabling the interpretation of diamond <> operator in package?
by choroba (Cardinal) on Apr 10, 2018 at 08:34 UTC | |
by LanX (Saint) on Apr 10, 2018 at 08:38 UTC | |
|
Re: Disabling the interpretation of diamond <> operator in package?
by shmem (Chancellor) on Apr 10, 2018 at 13:13 UTC |