如何检查和删除符号链接(如果存在),使用Perl?

前端之家收集整理的这篇文章主要介绍了如何检查和删除符号链接(如果存在),使用Perl?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
if (-e "$ENV{MYHOME}/link") {
    system("rm $ENV{MYHOME}/link");
}

这是用于检查符号链接是否存在的代码,如果存在则将其删除.

我正在跟踪此代码无效的错误.到目前为止我还没弄清楚,但是发生的事情是这段代码无法删除符号链接,从而导致“文件存在”错误.

我想检查这种技术是否存在一些根本缺陷?我也读过http://perldoc.perl.org/functions/unlink.html,但是想知道是否由于某种原因不推荐目前的做法?

解决方法

只需使用:
if ( -l "$ENV{MYHOME}/link" ) {
    unlink "$ENV{MYHOME}/link"
        or die "Failed to remove file $ENV{MYHOME}/link: $!\n";
}

如果取消链接失败,它会说明原因. -l询问目标是否是链接. -e询问文件是否存在.如果您的链接指向不存在的文件,则它将返回false,并且您的代码将无法删除链接.

原文链接:https://www.f2er.com/Perl/172367.html

猜你在找的Perl相关文章