--- a/bin/imager.compress Fri Aug 19 15:30:00 2011 +0200
+++ b/bin/imager.compress Fri Aug 19 16:39:09 2011 +0200
@@ -18,7 +18,6 @@
MAIN: {
- local $/ = undef;
GetOptions(
"h|help" => sub { pod2usage(-verbose => 1, -exit => 0) },
"m|man" => sub {
@@ -43,7 +42,7 @@
my ($tmp);
if (/\.gz$/) {
- $zbuffer = <$fh>;
+ sysread $fh => $zbuffer, -s $fh;
gunzip(\$zbuffer => \$buffer)
or die $GunzipError;
@@ -54,14 +53,14 @@
return if length($zbuffer) / length($buffer) < THRESHOLD;
$tmp = File::Temp->new(DIR => ".", TEMPLATE => ".tmp-XXXXXX");
- print {$tmp} $buffer;
+ syswrite $tmp => $buffer;
rename $tmp->filename => basename($_, ".gz");
say "uncompressed $_";
#print "+";
}
else {
- $buffer = <$fh>;
+ sysread $fh => $buffer, -s $fh;
gzip(
\$buffer => \$zbuffer,
-Minimal => 1,
@@ -71,7 +70,7 @@
return if length($zbuffer) / length($buffer) >= THRESHOLD;
$tmp = File::Temp->new(DIR => ".", TEMPLATE => ".tmp-XXXXXX");
- print {$tmp} $zbuffer;
+ syswrite $tmp => $zbuffer;
rename $tmp->filename => "$_.gz";
say " compressed $_";
#print STDERR "-";