如何检查Perl中是否存在文件?

我有一个相对路径
$base_path = "input/myMock.TGZ";

myMock.TGZ是位于输入文件夹中的文件名。
文件名可以更改。但是路径总是存储在$ base_path中。

我需要检查该文件是否存在于$ base_path。

解决方法

使用-e file-test运算符测试给定路径中是​​否存在某些内容
print "$base_path exists!\n" if -e $base_path;

然而,这个测试可能比你打算更广泛。上面的代码生成输出,如果一个普通文件存在于那个路径,但它也将触发一个目录,命名管道,符号链接,或更奇怪的可能性。 See the documentation

给定.TGZ在你的问题的扩展,似乎你期望一个普通文件,而不是替代品。 -f文件测试运算符询问路径是否导向到纯文件

print "$base_path is a plain file!\n" if -f $base_path;

perlfunc文档涵盖了Perl’s file-test operators的长列表:

相关文章

忍不住在 PerlChina 邮件列表中盘点了一下 Perl 里的 Web 应用框架(巧的是 PerlBuzz 最近也有一篇相关...
bless有两个参数:对象的引用、类的名称。 类的名称是一个字符串,代表了类的类型信息,这是理解bless的...
gb2312转Utf的方法: use Encode; my $str = "中文"; $str_cnsoftware = encode("utf-8...
  perl 计算硬盘利用率, 以%来查看硬盘资源是否存在IO消耗cpu资源情况; 部份代码参考了iostat源码;...
1 简单变量 Perl 的 Hello World 是怎么写的呢?请看下面的程序: #!/usr/bin/perl print "Hello W...
本文介绍Perl的Perl的简单语法,包括基本输入输出、分支循环控制结构、函数、常用系统调用和文件操作,...