У меня есть следующий код:
use strict;
use warnings;
use IO::File;
use Bio::SeqIO;
my ($file1) = $ARGV[0];
my ($file2) = $ARGV[1];
my $fh1 = IO::File->new("$file1")|| die "Can not create filehandle";
my $fh2 = IO::File->new("$file2")|| die "Can not create filehandle";
my @aligned_array = ();
while(my $line1 = $fh1->getline){
chomp($line1);
if (($line1 =~ /^match/)||($line1 =~ /^-/)) {
next;
}
else {
my @line_array = split(/\s+/, $line1);
push(@aligned_array, $line_array[9]);
}
}
my $fio1 = IO::File->new("> chimeric_contigs.txt")|| die "Can not create filehandle";
while(my $line2 = $fh2->getline) {
my $count = 0;
chomp($line2);
for my $aligned (@aligned_array) {
# print $line2.$aligned."\n";
if ($line2 =~ m/$aligned/) {
$count++;
}
}
if ($count >= 2) {
print $fio1 $line2."\n";
}
}
$fio1->close;
, и я продолжаю получать ту же ошибку
Использование неинициализированного значения при компиляции регулярного выражения в /gscuser/rfujiwar/bin/find_chimeric_contigs_blat.pl строке41
Это строка 41: if ($ line2 = ~ m / $ align /) {
и $ line2, и $ align определены, потому что я могу напечатать их без проблем.Пожалуйста, помогите.