http://qs1969.pair.com?node_id=103499


in reply to Fun with two-dimensional arrays

I would say do it the C way... (ish)
for my $x (0..21) { for my $y (0..79) { do_stuff($vscr[$x][$y]); } }
It works, and you always know your coordinates... you might want to define 21 and 79 as variables at the top of the program, though... in case screen size changes... or do
for my $x (0..$#vscr) { for my $y (0..$#{$vscr[$x]}) { do_stuff($vscr[$x][$y]); } }

                - Ant
                - Some of my best work - Fish Dinner

Replies are listed 'Best First'.
Re(2): Fun with two-dimensional arrays
by FoxtrotUniform (Prior) on Aug 09, 2001 at 21:07 UTC

    The problem with this is that you might well have more than 80 columns in any given row, as text gets written to that row (but not yet wrapped; text wrapping or trucation gets done later on).

      Well, the second method accounts for that... the 0..$#{$vscr[$x]} gives you 0 thru the length of that row...

      or you could set the width of a row to be arbitrarily long... like 500 chars... and just keep reading till one of them was undef (assuming good coords had a space instead of undef...

                      - Ant
                      - Some of my best work - Fish Dinner