首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl:解析压缩文件

问Perl:解析压缩文件
EN

Stack Overflow用户
提问于 2015-07-22 04:35:06
回答 1查看 202关注 0票数 0

我有一个脚本,它打开一个大的文本文件并提取数据来创建一个报告。

问题:

是否有一种方法可以在perl中打开该文件,即使该文件已使用gzip压缩。

Gunzip文件在打开前会变慢。

示例:

代码语言:javascript
复制
open(my $fh, "<", "input.txt.gz")
EN

回答 1

Stack Overflow用户

发布于 2015-07-22 04:41:44

解压缩::解压缩模块可以帮助您。

代码语言:javascript
复制
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。

代码语言:javascript
复制
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 on

PerlIO::gzip提供了一个PerlIO层,它以gzip程序使用的格式操作文件。压缩和解压缩是实现的,但不能结合在一起。如果试图打开用于读写的文件,则打开的操作将失败。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31553933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档