my@a=([],[],[],[],[],[],[],[],[],[]); print_2D_array(@a); my$a=-1;map{@$_=(++$a)x$a}@a; print_2D_array(@a); map{map{print "-",$_}@$_;print"\n"}@a; sub print_2D_array { my $count; for my $ref (@a) { my @inner_array = @$ref; print "Elements of level ".$count++." "; for(@inner_array) {print "$_-"} print "\n"; } print "\n"; } print "\n\nDon't be a square\n\n"; my@a=([],[],[],[],[],[],[],[],[],[]); my$a=-1;map{@$_=('no')x10}@a; map{map{print "-",$_}@$_;print"\n"}@a;