use Tie::CSV_File; tie my @array, "Tie::CSV_File", $filename, WHITESPACE_SEPARATED; for my $i (1 .. $#array) { push @good_nums, $array[$i-1]->[0] * $array[$i]->[1] * $array[$i-1]->[1] * $array[$i]->[0]; # Did you really want to compute 4x a multiplication ?! } print @good_nums; #### @array = map {[split]} @array; # instead of the first two lines of my snippet