As well as taking on board other comments, you may want to change your approach to something like this:
#!/usr/bin/perl -w
use strict;
# sample data
my @column_1 = qw(13 14 10 34 73 64 48 52 51 74 8 85 36 74 34 53 9 86
+ 59 15 25);
my @column_2 = qw(3 74 98 185 36 74 34 201 99 86 59 15 25 123 134 16
+202 73 64 48 52);
# "good" numbers
my %col_1_good = map { $_, 1 } (11..49);
my %col_2_good = map { $_, 1 } (101..199);
# "fair" numbers
my %col_1_fair = map { $_, 1 } (8..10, 50..52);
my %col_2_fair = map { $_, 1 } (98..100, 200..202);
my @good_pairs = ();
my @fair_pairs = ();
for my $i (0..$#column_1) {
if ( $col_1_good { $column_1[$i] } && $col_2_good { $column_2[$i]
+} ) {
push @good_pairs, "$column_1[$i] $column_2[$i]";
}
elsif ( $col_1_fair { $column_1[$i] } && $col_2_fair { $column_2[$
+i] } ) {
push @fair_pairs, "$column_1[$i] $column_2[$i]";
}
}
print join "\n", "Good Numbers:", @good_pairs, "\nFair Numbers:", @fai
+r_pairs;
cLive ;-) |