sub process_rare_RE { my $file = shift; my $PART3 = 0; my ($sums,$avgs,$ydata,@xdata,@frmt,@values); open(IN,$file) or die "$file failed to open: $!"; ## Reset sums for (0..3) { $sums->[$_] = 0 } while () { @values = split /\t/, $_; if ( ($values[4] == 0 && $values[0] >= 2.5) || ($file =~ /Ts21/ && $values[0] == 2.5) ) { $PART3 = 1 } if($PART3) { next if $values[1] < 50; if ($_[0] == 3 || $_[0] == 1) { for (0..2) { $sums->[$_] += $values[$_+1] } $sums->[3]++; } if ($_[0] == 2 || $_[0] == 1) { push @xdata, $values[0]; for (0..2) { push @{$ydata->[$_]}, $values[$_+1] } } } } ## never gets here, hung up above (^) close IN; for (0..$#xdata) { push @frmt, [ $xdata[$_], \@{$ydata} ] } for (0..2) { $avgs->[$_] = $sums->[$_]/$sums->[3] } if ($Debug > 2) { print "\t\tReturn value for process_rare_RE is: \n", Dumper( ($avgs,\@frmt) ) } return ( $avgs, \@frmt ); }