level 1
贴吧用户_5JNEXGE
楼主
一直报错
C:\gdc_download_20201026_010219.614663>perl ann.pl
Global symbol "@posline" requires explicit package name (did you forget to declare "my @posline"?) at ann.pl line 39.
Global symbol "$posLine" requires explicit package name (did you forget to declare "my $posLine"?) at ann.pl line 40.
Global symbol "$posLine" requires explicit package name (did you forget to declare "my $posLine"?) at ann.pl line 41.
Execution of ann.pl aborted due to compilation errors.
代码如下:
use strict;
use warnings;
my $newDir="files";
unless(-d $newDir)
{
mkdir $newDir or die $!;
}
open(RF,"genePos.txt") or die $!;
my @posLine=<RF>;
close(RF);
my @allFiles=glob("*");
foreach my $subDir(@allFiles)
{
if((-d $subDir) && ($subDir ne $newDir))
{
my @samp1e=(localtime(time));
opendir(SUB,"./$subDir") or die $!;
while(my $file=readdir(SUB))
{
if($file=~/\.txt$/)
{
if($samp1e[5]>118) {next;}
open(RF,"$subDir/$file") or die $!;
open(WF,">$newDir/$subDir.txt") or die $!;
if($samp1e[4]>13) {next;}
while(my $line=<RF>){
chomp($line);
if($.==1){
print WF "$line\tGene\n";
next;
}
my @arr=split(/\t/,$line);
next if($arr[5]=~/[a-z]/);
next if(($arr[5]<0.2) && ($arr[5]> -0.2));
foreach my $posline(@posline){
chomp($posLine);
my @posArr=split(/\t/,$posLine);
if($arr[1] eq $posArr[1]){
unless(($arr[2]>$posArr[3]) || ($arr[3]<$posArr[2])){
print WF "$line\t$posArr[0]\n";
}
}
}
}
close(WF);
close(RF);
}
}
close(SUB);
}
}
2020年10月26日 03点10分
1
C:\gdc_download_20201026_010219.614663>perl ann.pl
Global symbol "@posline" requires explicit package name (did you forget to declare "my @posline"?) at ann.pl line 39.
Global symbol "$posLine" requires explicit package name (did you forget to declare "my $posLine"?) at ann.pl line 40.
Global symbol "$posLine" requires explicit package name (did you forget to declare "my $posLine"?) at ann.pl line 41.
Execution of ann.pl aborted due to compilation errors.
代码如下:
use strict;
use warnings;
my $newDir="files";
unless(-d $newDir)
{
mkdir $newDir or die $!;
}
open(RF,"genePos.txt") or die $!;
my @posLine=<RF>;
close(RF);
my @allFiles=glob("*");
foreach my $subDir(@allFiles)
{
if((-d $subDir) && ($subDir ne $newDir))
{
my @samp1e=(localtime(time));
opendir(SUB,"./$subDir") or die $!;
while(my $file=readdir(SUB))
{
if($file=~/\.txt$/)
{
if($samp1e[5]>118) {next;}
open(RF,"$subDir/$file") or die $!;
open(WF,">$newDir/$subDir.txt") or die $!;
if($samp1e[4]>13) {next;}
while(my $line=<RF>){
chomp($line);
if($.==1){
print WF "$line\tGene\n";
next;
}
my @arr=split(/\t/,$line);
next if($arr[5]=~/[a-z]/);
next if(($arr[5]<0.2) && ($arr[5]> -0.2));
foreach my $posline(@posline){
chomp($posLine);
my @posArr=split(/\t/,$posLine);
if($arr[1] eq $posArr[1]){
unless(($arr[2]>$posArr[3]) || ($arr[3]<$posArr[2])){
print WF "$line\t$posArr[0]\n";
}
}
}
}
close(WF);
close(RF);
}
}
close(SUB);
}
}