#!/usr/bin/perl # Author: Peter R. Wood, http://prwdot.org/ use strict; use Image::Magick; my $quality = "80"; my $bytes_before = 0; my $bytes_after = 0; while (<>) { chomp; my $filename = $_; my $image = Image::Magick->new; my $result = ""; my @pre_stat = stat($filename); $bytes_before += $pre_stat[7]; $result = $image->read( filename => "$filename" ); warn "$result" if $result; $result = $image->Set( quality => $quality ); warn "$result" if $result; $result = $image->write( filename => "$filename" ); warn "$result" if $result; my @post_stat = stat($filename); $bytes_after += $post_stat[7]; } my $bytes_saved = $bytes_before - $bytes_after; my $percent_saved = 100 * ( $bytes_saved / $bytes_before ); print "Before: $bytes_before b\n"; print "After: $bytes_after b\n"; print "Saved: $bytes_saved b\n"; print "Saved: $percent_saved %\n";