1. 使用PERL直接读取压缩文件 use pipe
.gz格式文件
1
|
open(FIN,"gzip -dc $infilename|") or die ("can not open $infilename\n"); |
.tgz(.tar.gz)格式文件
"tar -xf $infilename -o|";
7zip格式文件
"7za e -so $infilename|";
这个可以直接用
2. 用PerlIO包
1)在*.pl前加上
1
2
use lib "/libPath";
use PerlIO::gzip; |
2)在用的时候:
1
2
open FIottom:0px; margin-left:0px; padding-top:0px; padding-right:0px; padding-bottom:0px; padding-left:0px; color:rgb(51, "<:gzip""$fi";
open FO">:gzip""$fo"; |
3. 用 File::Package;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl -w
use strict;
use FilePackage;
my $uut='Tie::Gzip';
$fp'File::Package'->load_package($uut;
tie *GZIP$gzip=\*GZIP"> test.gz"while($line=<>){
chomp print"$line\n"}
close *OUT$out\*OUTprint $out "I want to kNow more!\n"
; |