Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: accessing an anonymous array

by haukex (Archbishop)
on Apr 11, 2020 at 20:09 UTC ( [id://11115387]=note: print w/replies, xml ) Need Help??


in reply to accessing an anonymous array

$tables{$day}->{$state} = \[$deathsToday, $m, $double, $intercept, $corr];

This is setting that hash value to a reference to a reference to an anonymous array, not just a typical reference to an anonymous array ("arrayref"). Is that what you want? If not, you can drop the \ and access the first element via $tables{$day}{$state}[0] and the whole array via @{$tables{$day}{$state}}, or, on Perl 5.24 or higher*, $tables{$day}{$state}->@*. Note the -> operator can be dropped between {}'s and []'s.

Otherwise, if you want to stick with your current data structure, to access the first element you'll have to say ${$tables{$day}{$state}}->[0], or, on Perl 5.24 or higher*, $tables{$day}{$state}->$*->[0]. In other words, because you've got an extra reference in there, you need the extra dereference (${...} or ->$*) before doing the ->[0] dereference to get the array element.

* On Perl 5.20 and 5.22, this feature can be enabled with use feature 'postderef';.

See also perlreftut and perlref.

Update: Minor edits and added second sentence to second paragraph.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2024-04-25 08:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found