in reply to Re^5: Using ImageMagick effectively
in thread Using ImageMagick effectively

A couple of tips:

Just like you would in the shell, put quotes around filenames that have spaces, e.g. my $mogrify = "mogrify -resize $trim% '$file'\n"; (that'll help against spaces and a few other metachars, but not everything - you may need String::ShellQuote for that)

Adding the line set -e at the top of your bash script will cause it to terminate when any of the called commands exits with a nonzero exit value.

How to check if a called command exited with an error is documented in system, its simplest form is my $success = system(...)==0;

Coming up with your own filenames probably doesn't require a module, and it really depends on what you want your filenames to look like. In its simplest form you could do something like sprintf("%010d.jpg",$sequence_number);

By the way, since you're importing Path::Class, you could use its ->open method to replace your opendir (see Path::Class::Dir).