我有以下代碼:在Perl的正則表達式編譯使用未初始化值的
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 /箱/find_chimeric_contigs_blat.pl線41
這是線41:如果($ LINE2 =〜米/ $對齊/){
兩個$ LINE2及$對齊的定義,因爲我可以p他們沒有問題。請幫忙。
你打印它們時會得到什麼? –
,我期待 – Ryan
Contig0.3Contig872.1 Contig0.3Contig872.1 Contig0.3Contig872.1 Contig0.3Contig872.1 Contig0.3Contig873.1等正確的琴絃......這就是取消註釋#打印的結果$ LINE2 $對齊 「\ n」。 – Ryan