我查看了几个链接和其他问题以尝试找到一个解决方案,但我仍然无法打开正在尝试打开的文件。这是代码块,我不能去功能:我无法打开一个新的文件在perl中写入
$filename = "Related Traits: Chromosome 1";
open ($output1, ">", "gwasfiles4/$filename".".txt");
$length1 = scalar(@chr1);
if ($length1 > 1) {
@chr1 = sort {$a <=> $b} @chr1;
for ($x = 0; $x <= $length1; $x++){
for ($y = $x + 1; $y <= $length1 - 1; $y++){
if (abs($chr1[$x] - $chr1[$y]) < 500000){
print $output1 "$chr1[$x]\t$chr1[$y]\n";
}
}
}
}
当我运行它,我得到了错误:
print() on closed filehandle $output at file.pl line 94
为什么文件中未打开?
现在,该文件与本打开,但为空:
my @chr1;
my $filename = "Related_Traits_Chromosome_1_$ARGV[0]";
open (my $output1, '>', "gwasfiles4/$filename") or die $!;
my $length1 = scalar(@chr1);
if ($length1 > 1) {
@chr1 = sort {$a <=> $b} @chr1;
for (my $x = 0; $x <= $length1; $x++){
for (my $y = $x + 1; $y <= $length1 - 1; $y++){
if (abs($chr1[$x] - $chr1[$y]) < 500000){
print $output1 "$chr1[$x]\t$chr1[$y]\n";
}
}
}
}
'use autodie;使用诊断;' –
我会在那里放? – Jack
'打开我的$ output1,“>”,“gwasfiles4/$ filename.txt”或死掉$ !;'。另外,在脚本的顶部放置'use strict;'和'use warnings'',并修复它们产生的错误/警告。 – stevieb