以下是我所谈论的一个例子
$PathPlusFileName gets set in Gtk2 File Chooser dialog SUB
if (-e $PathPlusFileName) {
print "found file\n";
} else {
print "did not find file\n";
}
只要PATH名称中没有空格,IF块就可以工作。 尝试双引用路径,没有帮助。 任何有关如何纠正的建议都将受到赞赏。
答案 0 :(得分:3)
工作正常:
#!/usr/bin/perl
use strict;
use warnings;
my $filename = 'name with spaces';
open ( my $testfile, '>', $filename ) or warn $!;
if ( -e "name with spaces" ) {
print "\"$filename\" exists\n";
}
我怀疑你会发现别的东西出了问题。我的第一个猜测是 - 你还记得chomp
你的意见吗?但是,如果不了解这个值是如何设定的,我们就无法回答。
答案 1 :(得分:0)
事实证明,在包GUI部分工作的前一个程序员已经使这行测试代码保持活动状态。 $ PathPlusFileName = ~s / / \ / g; 一个被删除,如果(-e按预期工作。感谢所有人的帮助和建议!
答案 2 :(得分:-1)
只需将变量放在引号中:
if (-e "$PathPlusFileName")