如果只在Perl 6中不存在时才能打开文件进行写入?

bri*_*foy 6 perl6

根据公开文档,有阅读,写作和追加的副词.这很好,我期待的.我有一个特殊的应用程序,sysopen用于更好的控制,我试图在Perl 6中重写它.我知道NativeCall(在我的问题中提到kill),但是有什么内置我缺少?

Chr*_*oph 8

这是一个不完整的文档案例:

在MoarVM上,open自2015年以来一直支持更常见的POSIX标志,包括O_EXCL通过命名参数:exclusive.

你正在寻找的旗帜组合是

my $fh = open "file", :mode<wo>, :create, :exclusive;
Run Code Online (Sandbox Code Playgroud)

这可以更紧凑地写成

my $fh = open "file", :x;
Run Code Online (Sandbox Code Playgroud)

这有望记录为Perl 6 I/O例程持续授权 标准化,测试覆盖率和文档的一部分.目前,详细信息可以在提交日志中找到.从那时起,发生了一些细微的变化; 特别是,:mode<pipe>已被删除并添加了JVM实现(但是不允许像MoarVM一样自由组合标记).