use strict;
use warnings;
use Image::Magick;

my $images = Image::Magick->new();

foreach my $file (@ARGV)
  {
  $images->Read(filename => $file) and die "Read failed";
  }

foreach my $image (@$images)
  {
  my $oldsize = $image->Get('filesize');
  my $newname = $image->Get('filename');
  $newname  =~ s/\.[^.]*$/.jpg/;

  $image->Write($newname) && die "Write failed";

  printf("%s->%s (%s -> %s Bytes)\n",
               $image->Get('filename'),
               $newname,
               $oldsize,
               -s $newname);
  }