【发布时间】:2018-12-05 19:52:47
【问题描述】:
我正在尝试 $*ARGFILES.handles,它似乎以二进制模式打开文件。
我正在编写一个 zip-merge 程序,它从每个文件中打印一行,直到没有更多行可供读取。
#! /usr/bin/env perl6
my @handles = $*ARGFILES.handles;
# say $_.encoding for @handles;
while @handles
{
my $handle = @handles.shift;
say $handle.get;
@handles.push($handle) unless $handle.eof;
}
我这样调用它:zip-merge person-say3 repeat repeat2
它失败了:无法在 ./zip-merge 第 7 行的块中以二进制模式对句柄执行“获取”
指定的文件是文本文件(以 utf8 编码),我收到了关于不可执行文件和可执行文件(使用 perl6 代码)的错误消息。
注释掉的行说我给它的每个文件都是utf8,所以它们不应该是二进制的,
perl6 -v:这是基于 MoarVM 版本 2018.10 构建的 Rakudo 版本 2018.10
我做错了什么,还是发现了错误?
【问题讨论】:
-
能否提供一个或多个示例文件?
-
将程序另存为“zip-merge”并使用“zip-merge zip-merge”自行运行。
标签: raku