我想逐行阅读文件,如下所示:
#!/usr/bin/env perl
use strict;
use warnings;
open my $fh, '<', "file.txt" or die "Can't read file.txt: $!";
while (<$fh>) {
}
close $fh;但我无法找到如何对压缩文件(如bz2和gz )执行此操作。
我无法从IO::Uncompress::Bunzip2中理解如何在一个真正的程序中实现这一点。
如何像上面对普通文件那样逐行读取压缩文件?
发布于 2017-04-28 13:17:59
试试这个:
use strict;
use warnings;
use IO::Uncompress::Bunzip2 '$Bunzip2Error';
my $file = "somefile.txt.bz2";
my $zh = IO::Uncompress::Bunzip2->new( $file, {
AutoClose => 1,
Transparent => 1,
} ) or die "IO::Uncompress::Bunzip2 failed: $Bunzip2Error\n";
while ( <$zh> ) {
print;
}https://stackoverflow.com/questions/43681066
复制相似问题