在 IO::Path 中§

有关例程 unlink,请参阅主要文档 in context

method unlink(IO::Path:D: --> True)
sub    unlink(*@filenames --> List:D)

删除所有指定的普通文件、链接或符号链接,并有权限这样做。请参阅 rmdir 以删除目录。

子例程形式返回列表中所有文件的名称,不包括文件系统引发某些错误的文件;由于尝试删除不存在的文件不会引发该级别的任何错误,因此此列表将包括列表中不存在的文件的名称。

方法形式在成功时返回 True,或者如果操作无法完成,则使用 X::IO::Unlink 失败。如果要删除的文件不存在,则例程会将其视为成功。

'foo.txt'.IO.open(:w).close;
'bar'.IO.mkdir;
say unlink <foo.txt  bar  not-there.txt># OUTPUT: «[foo.txt not-there.txt]␤» 
# `bar` is not in output because it failed to delete (it's a directory) 
# `not-there.txt` is present. It never existed, so that's deemed a success. 
 
# Method form `fail`s: 
say .exception.message without 'bar'.IO.unlink;
# OUTPUT: «Failed to remove the file […] illegal operation on a directory␤»