in reply to "Or" in Array

If you want to perform this check once per row, you could loop though the arrays:
use strict; use warnings; my @one = qw(5 6 7); my @two = qw(1 2 0); my @three = qw(1 1 1); my @four = qw(9 4 6); for my $i (0 .. $#one) { unless ($one[$i] and $two[$i] and $three[$i] and $four[$i]) { print "row $i has a zero\n"; # execute some code } }

prints:

row 2 has a zero

Update: You should consider reorganizing your data as an ARRAYS OF ARRAYS structure, if you have control over your data. In general, it is easier passing around one data structure than 4.