equal
deleted
inserted
replaced
21 local $/ = undef; |
21 local $/ = undef; |
22 |
22 |
23 die if not @ARGV; |
23 die if not @ARGV; |
24 |
24 |
25 find(sub { |
25 find(sub { |
26 say and return if -d; |
26 say "dir $_" and return if -d; |
27 return if not -f; |
27 return if not -f; |
28 |
28 |
29 open(my $fh, $_); |
29 open(my $fh, $_); |
30 my ($buffer, $zbuffer); |
30 my ($buffer, $zbuffer); |
31 my ($tmp); |
31 my ($tmp); |
38 return if length($zbuffer)/length($buffer) < THRESHOLD; |
38 return if length($zbuffer)/length($buffer) < THRESHOLD; |
39 |
39 |
40 $tmp = File::Temp->new(DIR => ".", TEMPLATE => ".tmp-XXXXXX"); |
40 $tmp = File::Temp->new(DIR => ".", TEMPLATE => ".tmp-XXXXXX"); |
41 print {$tmp} $buffer; |
41 print {$tmp} $buffer; |
42 rename $tmp->filename => basename($_, ".gz"); |
42 rename $tmp->filename => basename($_, ".gz"); |
|
43 say "uncompressed $_"; |
43 |
44 |
44 } |
45 } |
45 else { |
46 else { |
46 $buffer = <$fh>; |
47 $buffer = <$fh>; |
47 gzip(\$buffer => \$zbuffer, |
48 gzip(\$buffer => \$zbuffer, |
52 return if length($zbuffer)/length($buffer) >= THRESHOLD; |
53 return if length($zbuffer)/length($buffer) >= THRESHOLD; |
53 |
54 |
54 $tmp = File::Temp->new(DIR => ".", TEMPLATE => ".tmp-XXXXXX"); |
55 $tmp = File::Temp->new(DIR => ".", TEMPLATE => ".tmp-XXXXXX"); |
55 print {$tmp} $zbuffer; |
56 print {$tmp} $zbuffer; |
56 rename $tmp->filename => "$_.gz"; |
57 rename $tmp->filename => "$_.gz"; |
|
58 say " compressed $_"; |
57 } |
59 } |
58 |
|
59 say; |
|
60 |
60 |
61 close $tmp; |
61 close $tmp; |
62 unlink $tmp, $_; |
62 unlink $tmp, $_; |
63 |
63 |
64 return; |
64 return; |