Perl - 将输出打印到不同目录中的文件

时间:2012-10-10 07:10:59

标签: perl file path directory file-io

早上好!

我很抱歉,如果之前已发布 - 我找不到它。我只需要向正确的方向指点一点,这是我的作业,我觉得它已经差不多完成了。我想要做的是从运行脚本的不同文件夹中的文件中获取数据,处理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;

我打赌它有点蠢......

1 个答案:

答案 0 :(得分:3)

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

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

应该是:

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

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

use File::Basename;

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