My brain doesn't cope well with
system("command") and die "Error message: $?";
Although the above is perfectly valid - as system returns zero for success, unlike every other perl function I can think of - I'd much rather use:
system("command") == 0 or die "Error message: $?";
...which makes it much more obvious (at least to me) what's going on.
Although I note that the examples in the perldoc use the latter approach, this is mostly a personal style point/grumble: feel free to ignore it.
If the information in this post is inaccurate, or just plain wrong, don't just downvote - please post explaining what's wrong.
That way everyone learns.