print "content-type: text/html \n\n"; #The header
$file = "newtext.txt";
if (unlink($file) == 0) {
print "File deleted successfully.";
} else {
print "File was not deleted.";
}
这是我从tizag中获取的一些代码。我不明白的部分是true的bool值是1,false是0.那么为什么当我成功删除文件时我正在检查它是否返回0?
答案 0 :(得分:6)
这似乎是一个错误......来自perldoc perlfunc:
删除文件列表。成功的话 它返回它的文件数 已成功删除。失败时,它 返回false并设置$! (错误):
如果返回值为0,则删除0个文件。
编写它的正确方法是:
if (unlink($file)) { print "Success!" }
else { print "Unlink failed: $!" }
答案 1 :(得分:2)
答案 2 :(得分:1)
该代码段可能完全错误,因为unlink
会返回成功删除的文件数。
答案 3 :(得分:0)
好的,没关系我的第一反应。这是来自perldoc for unlink:
删除文件列表。成功时,它返回成功删除的文件数。失败时,它返回false并设置$! (错误)
证明没有标准这样的东西。还证明了那个编写该代码的人,不幸的是有一个bug。就个人而言,我原本预期0意味着成功。如果你看一下C系统调用unlink
,零意味着成功。我告诉你,疯狂。