... this example snippet will return a syntax error (near ")["):
my $tmp = 42 + (&((MODES)[1])())[1];
The brackets associated with the & sigil are curlies not parentheses.
But I don't know if this is exactly elegant!Win8 Strawberry 5.8.9.5 (32) Sun 11/22/2020 2:47:09 C:\@Work\Perl\monks >perl use strict; use warnings; use constant ADD_DATA => qw(add 1); use constant REMOVE_DATA => qw(remove 2); use constant MODES => (\&ADD_DATA, \&REMOVE_DATA); print 42 + (&{ (MODES)[0] })[1]; ^Z 43
Give a man a fish: <%-{-{-{-<
In reply to Re^3: Multi-dimensional constants (updated)
by AnomalousMonk
in thread Multi-dimensional constants
by Ionic
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |