# Create a new image handler my $img = Image::Magick->new; # Read database, set some values here # Read the image $success = $sth_multi_select->execute($image_id); print LOG "Can't get page information for document $document: ", $dbh_source->errstr, "\n" unless defined $success; next unless $success; $sth_multi_select->bind_columns( \$page_number, \$old_filename, \$old_directory, \$old_volume); while($sth_multi_select->fetch()) { my $path = "$volume_list{$old_volume}\\" . ($old_directory eq "" ? "" : "$old_directory\\") . "$old_filename"; $success = $img->read($path); print LOG "Can't read document $document: ", $success, "\n" if $success; } # Write index entries to database here # Write out the new image - GETS SLOW HERE! my $path = "$dest_path$filename"; print "Before\n"; $success = $img->write($path); print "After\n"; print LOG "Can't write document $document: ", $success, "\n" if $success; undef $img;