+ # depending on expected returned value this is used like:
+ # my $uncompress_size = get_gzip_size('/full/path/to.gz');
+ # my ($compress_size, $uncompress_size) = get_gzip_size('/path.gz');
+ sub get_gzip_size($) {
+ my $filename = shift;
+ die "file $filename problem: $!" unless (-r $filename);
+ open(my $gzip, $bin->{gzip}." -l $filename |") || die "can't gzip -l $filename: $!";
+ my $line = <$gzip>;
+ chomp($line);
+ $line = <$gzip> if ($line =~ /^\s+compressed/);
+
+ my ($comp, $uncomp) = (0,0);
+
+ if ($line =~ m/^\s+(\d+)\s+(\d+)\s+\d+\.\d+/) {
+ if (wantarray) {
+ return [ $1, $2 ];
+ } else {
+ return $2;
+ }
+ } else {
+ die "can't find size in line: $line";
+ }
+ }
+