#
#
# test: array of (anon) arrays
#
#

use strict;

my @arr = ();
my $rarr = \@arr ;
my $job  = "author";
my $rjob  =  \$job;
my $job2  = "author2";
my $rjob2  =  \$job;

push ( @arr, ["Adalbert","Stifter", $rjob  ]);
push ( @arr, ["Hermann", "Hesse",   $rjob2 ]);

if (1) {
print @arr . ", ";
print @arr[0] . ", ";
print $arr[0] . "\n";

# 4 mal Adalbert
print $arr[0][0] . ", ";
# print @arr[0][0] . ", ";   # err
print @arr[0]->[0] . ", ";
print @arr->[0][0] . ", ";
print @arr->[0]->[0] . "\n";

print @arr->[0]->[1] . ", ";
print @arr->[1]->[0] . ", " if exists @arr->[1]->[0] ;
print @arr->[1]->[0] . ", " if defined @arr->[1]->[0] ;
print @arr->[1]->[1] . "\n";
print @arr->[2]->[0] . ", " if exists @arr->[2]->[0] ;
print @arr->[2]->[0] . "\n" if defined @arr->[2]->[0] ;

print @arr[0]->[2] . ", ";
print @arr->[0][2] . ", ";
print @arr->[0]->[2] . "\n";

 # print $arr->[0][2] . ", ";    # err
 # print $arr->[0]->[2] . ", ";  # err
print ${@arr->[0][2]} . ", ";
print ${$arr[0][2]} . "\n";

}

#exit;

print "\n--------\njetzt mit Referenz:\n\n";
print @{$rarr} . ", ";
print @{$rarr}[0] . "\n";

print ${$rarr}[0][0] . ", ";
print ${$rarr}[0]->[0] . ", ";
print @{$rarr}->[0][0] . ", ";
print @{$rarr}->[0]->[0] . "\n";

print @{$rarr}->[0]->[1] . ", ";
print @{$rarr}->[1]->[0] . ", " if exists @arr->[1]->[0] ;
print @{$rarr}->[1]->[1] . ", ";
print @{$rarr}->[2]->[0] . "\n" if exists @arr->[2]->[0] ;

print @{$rarr}->[0][2] . ", ";
print @{$rarr}[0]->[2] . ", ";
print @{$rarr}->[0]->[2] . "\n";

 # print ${@{$rarr}[0][2]} . ", ";   # err
print ${@{$rarr}[0]->[2]} . ", ";
print ${@{$rarr}->[0][2]} . ", ";
print ${@{$rarr}->[0]->[2]} . "\n";

