Thanks for the detailed post. I'm still having problems with the "Use of uninitialized value in array element" error.
I adjusted the code, however I'm not sure where I need to insert the equivalent of the
next unless $meat;
I can get it to work by commenting out use strict;
##!/usr/bin/perl
#22/06/2011
use strict;
use warnings;
use File::Slurp;
use Data::Dumper;
my @data;
my @col;
my $dataset;
my @fields;
my %out;
my $Hashref;
my $fileCount;
my @out;
open INFILE, "<Primer-Rev1" or die $!;
open my $outfh, '>', "outputfile.txt" or die $!;
for my $nr (1..2) {
for my $line (read_file('Primer-For'.$nr)) {
my @col = split(/\t/,$line);
push @{$data[$nr - 1]->{shift(@col)}},\@col;
}
}
while (<INFILE>){
@col = split(/\t+/, $_);
chomp (@col);
my ($header, $length, $tm, $sequence) = @col[0..3];
# expecting file3 line in @col
my @results = ( $col[1], $col[2] );
#print Dumper (\@results)
for my $dataset (@data) {
my @out = push @{
$data[ $fileCount ]->{
shift @col
}
}, \@col;
#print Dumper (\@data);
#}
@out =
sort {
my $diff_a = $col[2] - $a->[1];
$diff_a *= -1 if $diff_a < 0;
my $diff_b = $col[2] - $b->[1];
$diff_b *= -1 if $diff_b < 0;
$diff_a <=> $diff_b;
} @out;
print Dumper (\@out);
push @results, $out[0]->[2];
}
#foreach (@results){
# print $_."\n"}
}