The macro is indeed interesting, as I've not delved in there before.
However, that may suffer from techical debt. If I define a max macro that only handles 2 values, I (or my replacement) may call it later and give it 3 values, and only get the max of the first 2. Still, some careful coding (probably duplicating List::Util's max) could ensue.
Edited to add:
Also, it seems the macro syntax uses significant whitespace, which bugs me.
Edited to add (2):
The macro doc page has this:
which I'm assuming uses significant whitespace to figure out that say is a macro. (Or there's a typo semicolon on the first line.)use macro add => sub{ $_[0] + $_[1] }; say => sub{ print @_, "\n"}; say(add(1, 3)); # it's replaced into 'print do{ (1) + (3) }, "\n";'
-QM
--
Quantum Mechanics: The dreams stuff is made of
In reply to Re^2: Ternary vs. Sort vs. Max
by QM
in thread Ternary vs. Sort vs. Max
by QM
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |