[英]new to Perl - having trouble with a floating point comparison
我是 Perl 的新手,正在编写一个简单的脚本来检查已安装的 VMware Fusion 版本是否大于 8.4。 我收到此错误:
syntax error at ./test.pl line 8, near ");"
这是脚本:
@vmVersion = `defaults read /Applications/VMware\ Fusion.app/Contents/Info CFBundleShortVersionString`;
@vmMinimum = 8.4;
if($vmVersion > $vmMinimum);
then print "compliant";
else print "update required";
fi
您拥有的代码不是 Perl。 下面是看起来更像 Perl 的东西:
my $vmVersion = `defaults read '/Applications/VMware Fusion.app/Contents/Info' CFBundleShortVersionString`;
if ($vmVersion > 8.4) {
print "compliant";
} else {
print "update required";
}
注意两点:
\\n
)。 如果没有这些,当用户运行您的程序时,他们的提示将在之后打印在一个有趣的位置。 :-)我从没见过
if($vmVersion > $vmMinimum);
...
fi
在 perl 之前,用块大括号替换。
if($vmVersion > $vmMinimum) {
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.