Indeed is was the single quotes that were stopping it working. When I changed these to 4 double quotes all was well!
It may work, but it still hides most, if not all errors, because you don't check $@ after eval and you don't check the return values from Image::Magick.
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)