检查当前目录中是否存在filename

时间:2017-08-14 18:22:45

标签: perl filecompare

我有一个我试图修改的脚本,这取决于它执行的位置,它将检查是否有一个名为 regression_user.rpt 的文件,如果有的话,它将创建一个名为 regression_user1.rpt 的新文件。我找到了解决方案,但我不知道如何改变它来做我想做的事。

我所拥有的是以下内容:

my $filename = 'c:\temp\test.txt';
if(-e $filename){
   //Create file with new name
   print("File $filename exists\n");
}else{
   //Create base file
   print("File $filename does not exists\n");
}

除此之外,$filename的路径是可变的。有没有办法将执行位置作为变量合并到此检查中?

这样做的目的是确保我不会覆盖现有文件(发生了太多次)。

1 个答案:

答案 0 :(得分:1)

如果执行位置是指当前工作目录,则只需以下内容:

my $filename = 'test.txt';

如果执行位置是指找到正在执行的脚本的目录,则可以使用以下命令:

use FindBin qw( $RealBin );

my $filename = "$RealBin/test.txt";