14 |
# |
# |
15 |
|
|
16 |
package WAIT::Document::Tar; |
package WAIT::Document::Tar; |
|
@ISA = qw(WAIT::Document::Base); |
|
17 |
require WAIT::Document::Base; |
require WAIT::Document::Base; |
18 |
|
@ISA = qw(WAIT::Document::Base); |
19 |
|
|
20 |
use FileHandle; |
use FileHandle; |
21 |
use strict; |
use strict; |
56 |
$self->close_file if $self->{_fh}; |
$self->close_file if $self->{_fh}; |
57 |
|
|
58 |
unless (-f $file) { |
unless (-f $file) { |
59 |
for (qw(.gz .Z)) { |
for (qw(.gz .Z .tgz)) { |
60 |
if (-f "$file$_") { |
if (-f "$file$_") { |
61 |
$file .= $_; |
$file .= $_; |
62 |
last; |
last; |
65 |
} |
} |
66 |
return unless -f $file; |
return unless -f $file; |
67 |
|
|
68 |
if ($file =~ s/\.gz$//) { |
if ($file =~ s/\.(gz|tgz)$//) { |
69 |
$self->{_fh} = new IO::File "gzip -cd $file|"; |
$self->{_fh} = new IO::File "gzip -cd $file|"; |
70 |
} elsif ($file =~ s/\.Z$//) { |
} elsif ($file =~ s/\.Z$//) { |
71 |
$self->{_fh} = new IO::File "compress -cd $file|"; |
$self->{_fh} = new IO::File "compress -cd $file|"; |