Well, the first reply above was explicitly coded to the OP's questions and the second said it assumed equal length, so they were at least thinking about it but the undef handling is a good point. TIMTOWDI is fun and good practice. How about this? Handles different sized arrays and prints undefs nicely, too.
use strict; my @a = qw( 1 2 3 ); my @b = qw( 7 8 9 10 ); my ($x, $y) = (1, 2); for (my $i = 0; $i < @a || $i < @b; ) { printf( "$x: %s $y: %s\n", map { defined $_ ? $_ : 'undef' } ( $a[$i], $b[$i++] ) ); }
update: side effect -- will extend the shorter array with undefs. Could copy @a and @b before handing to the loop if this was a concern.
-xdg
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.
In reply to Re^2: read 2 array simultaneously
by xdg
in thread read 2 array simultaneously
by dee00zee
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |