Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^3: Multi-dimensional constants (updated)

by AnomalousMonk (Archbishop)
on Nov 22, 2020 at 07:56 UTC ( [id://11124008]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Multi-dimensional constants (updated)
in thread Multi-dimensional constants

... 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.

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
But I don't know if this is exactly elegant!


Give a man a fish:  <%-{-{-{-<

Replies are listed 'Best First'.
Re^4: Multi-dimensional constants (updated)
by Ionic (Acolyte) on Nov 22, 2020 at 08:09 UTC

    The brackets associated with the & sigil are curlies not parentheses.
    Ah, right, that works, and here's the explanation from perlref:
    Anywhere you'd put an identifier (or chain of identifiers) as part of a variable or subroutine name, you can replace the identifier with a BLOCK returning a reference of the correct type.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11124008]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (6)
As of 2024-04-23 16:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found