You're definitely missing something. InfiniteSilence has addressed
in reply to Comparing ARRAY Ref values
your second question one of your questions (yes, I used to get confused about 'left' and 'right' sometimes, too.
As to the
first other, the values you're looking at are -- to all intents and purposes -- pointers to the memory locations (addresses) where the arrays begin. They are NOT, IN ANY SENSE reflective of the values in the arrays themselves.
my @arr1 = qw(a b c d e);
my @arr2 = (3, 5, 7, 9);
my $ref1 = \@arr1;
my $ref1a = \@arr1;
my $ref2 = \@arr2;
say "\$ref1: $ref1 and \$ref1a: $ref1a";
say "\$ref2: $ref2; \@$ref2: @$ref2;" #Second half DEREFs the referen
$ref1: ARRAY(0x119ee3c) and $ref1a: ARRAY(0x119ee3c)
$ref2: ARRAY(0x119f12c); @ARRAY(0x119f12c): 3 5 7 9;
See the tuts here at References.
If you didn't program your executable by toggling in binary, it wasn't really programming!