我正在尝试用Perl6逐行读取gz文件,但是,我被阻止了:
Compress::Zlib
逐行获取所有内容,尽管我在他们的github https://github.com/retupmoca/P6-Compress-Zlib/issues/17
Compress::Zlib
来翻译这段代码,它在Perl5中工作得很好:<代码>G212
使用Compress::Zlib;my $file = "data.txt.gz";my $gz = gzopen($file,"rb")或die "Error reading $file:$gzerrno";while ($gz->gzreadline( $_ ) > 0) {#处理读取$_中的行} die "Error reading $file:$gzerrno“if $gzerrno != Z_STREAM_END;$gz->gzclose();
在Perl6中使用Inline::Perl5
如下所示:
use Compress::Zlib:from<Perl5>;
my $file = 'chrMT.1.vcf.gz';
my $gz = Compress::Zlib::new(gzopen($file, 'r');
while ($gz.gzreadline($_) > 0) {
print $_;
}
$gz.gzclose();
但是我不知道怎么翻译:(
这样的东西
Perl6中的for $file.IO.lines(gz) -> $line {
或类似的东西,如果它存在,我找不到它。
如何逐行读取一个大文件,而不是在Perl6中将所有内容都读入内存?
https://stackoverflow.com/questions/54813782
复制相似问题