我正在尝试$*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;
}
Run Code Online (Sandbox Code Playgroud)
我这样调用它:zip-merge person-say3 repeat repeat2
它失败了:无法在./zip-merge第7行的块中以二进制模式对句柄执行'get'
指定的文件是文本文件(以utf8编码),我收到非可执行文件和可执行文件(使用perl6代码)的错误消息.
注释掉的行说出我给它的每个文件的utf8,所以它们不应该是二进制的,
perl6 -v:这是基于MoarVM版本2018.10构建的Rakudo版本2018.10
我做错了什么,或者我发现了错误?
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |