in reply to ExifTool & system()

According to system: "The return value is the exit status of the program".

Why do you warn when exiftool succeeds? And why do you check $! instead of $? ?

system 'true' and warn "$?";

Tip #7 from the Basic debugging checklist