in reply to Read array of arrays in reverse order
It looks to me like what you want to do is find the elements along a diagonal from the 'last' element. Perl allows you to index from the end of an array using negative values so this becomes fairly trivial with the only major trick being knowing when to stop. Consider:
use strict; use warnings; my @my_arr = ( [1, 11, 0, 0], [12, 109, 0, 0], [16, 1, 16, 0], [14, 14, 2, 0], [45, 16, 5, 4], ); my $index = -1; my @diagonal; while (exists $my_arr[$index] && exists $my_arr[$index][$index]) { push @diagonal, $my_arr[$index][$index]; --$index; } print join '-', @diagonal;
Prints:
4-2-1-12
|
|---|