To my mind, you just need to memorize that arrays and hashes can contain only scalars and references, and in order to use contents of an object by its reference you need ->.
For example,
You may also want to use Data::Dumper to look inside your data structures. Perl debugger (perl -d) command "x" is also useful.#!/usr/bin/perl use feature "say"; # This is an array of array references: my @array = ( # "(...)" means array [ 1, 2, 3 ], # "[...]" means array reference [ 4, 5, 6 ], ); say $array[1]->[2]; # 6 # firstly, we get the second element from the array # secondly, it's a reference to an array, so we add "->" and get the t +hird element of it # this is a reference to an array of references of arrays my $reference = [ [ 7, 8, 9 ], [ 10, 11, 12 ], ]; say $reference->[0]->[1]; # 8 # this is an array of hash references my @hashes = ( { one => 1, two => 2, three => 3 }, # "{...}" means hash reference { one => 11, two => 22, three => 33 }, ); say $hashes[1]->{one}; # 11
In reply to Re: Concept map of data types
by aitap
in thread Concept map of data types
by programmer.perl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |