2

早上好!

如果之前已经发布过,我很抱歉 - 我找不到它。我只需要一点点指向正确的方向,这是我的作业,我觉得它快完成了。我想要做的是从运行脚本的不同文件夹中的文件中获取数据,在 Perl 中处理数据,然后将输出打印到另一个目录。现在我完成了这两个部分,但我失败的是 Perl 没有找到我想要保存文件的路径。它只是说“不存在具有该名称的文件或目录”,但确实如此!这是脚本的一部分:

my @files = <$ENV{HOME}/Docs/unprocessed/*.txt>;
my $path = "$ENV{HOME}/Docs/results";

<looping through @files, processing each file in the unprocessed folder...>

open (OUTFILE, $path . '>$file') or die $!;
print OUTFILE ""; # "" Is really the finished calculations from the loop, not important here.
close FILE;
close OUTFILE;

我敢打赌它是愚蠢的...

4

1 回答 1

3

因为您将“写入”标记>与文件名混合在一起。这:

open (OUTFILE, $path . '>$file')

应该:

open (OUTFILE, ">$path/$file")

您还可能必须.../Docs/unprocessed/从文件名中删除前缀:

use File::Basename;

open (OUTFILE, ">$path/" . basename($file))
于 2012-10-10T07:12:26.077 回答