For some reason I couldn't see where the scalars and arrays were in this.
Here's a tool you already have to help you with this: Perl debugger!
Use the x command to see what a variable holds. It shows you the complete structure as if it were an array at the top level. (So hashes show up better if you escape the percent sign, as in the first example below).
c:\perl\perl>perl -de 0
Loading DB routines from perl5db.pl version 1.28
Editor support available.
Enter h or `h h' for help, or `perldoc perldebug' for more help.
main::(-e:1): 0
DB<1> %x = ( 123, [ qw(one two three) ], 456, [ qw(four five six) ],
+ 789, [ qw(seven eight nine) ] )
DB<2> x \%x
0 HASH(0x1d6c490)
123 => ARRAY(0x15d52a4)
0 'one'
1 'two'
2 'three'
456 => ARRAY(0x1d6c628)
0 'four'
1 'five'
2 'six'
789 => ARRAY(0x1d6c664)
0 'seven'
1 'eight'
2 'nine'
DB<3> @x = ( { 1, "one", 2, "two", 3, "three" }, { 4, "four", 5, "fi
+ve", 6, "six" }, { 7, "seven", 8, "eight", 9, "nine" } )
DB<4> x @x
0 HASH(0x1d70b24)
1 => 'one'
2 => 'two'
3 => 'three'
1 HASH(0x1d97a78)
4 => 'four'
5 => 'five'
6 => 'six'
2 HASH(0x1d97ab4)
7 => 'seven'
8 => 'eight'
9 => 'nine'
DB<5>
-QM
--
Quantum Mechanics: The dreams stuff is made of
|