Rading a recent post at http://perlbuzz.com/ :
The horrible bug your command line Perl program probably has
It talks about the best practice to test always system call return values. But also make a good point that many user forget about to test the result of get-option. If you don't know what get_option is, and you are writing perl scripts for comand line usage, then you are missing a very important tool.
For the record, I am putting here my standard get_option scaffold (I have it as a template in my .emacs)
I am capturing the return value of the getoptions and printing a 'usage' message if error or help
I encourage you to put this in your editor's perl templates.