我有一个脚本,它打开一个大的文本文件并提取数据来创建一个报告。
问题:
是否有一种方法可以在perl中打开该文件,即使该文件已使用gzip压缩。
Gunzip文件在打开前会变慢。
示例:
open(my $fh, "<", "input.txt.gz")发布于 2015-07-22 04:41:44
解压缩::解压缩模块可以帮助您。
use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
unzip $input_filename_or_reference => $output_filename_or_reference [,OPTS]
or die "unzip failed: $UnzipError\n";功能接口需要Perl5.005或更多。
也可以使用CPAN模块PerlIO::gzip。
use PerlIO::gzip;
open FOO, "<:gzip", "file.gz" or die $!;
print while <FOO>; # And it will be uncompressed...
binmode FOO, ":gzip(none)" # Starts reading deflate stream from here onPerlIO::gzip提供了一个PerlIO层,它以gzip程序使用的格式操作文件。压缩和解压缩是实现的,但不能结合在一起。如果试图打开用于读写的文件,则打开的操作将失败。
https://stackoverflow.com/questions/31553933
复制相似问题