in reply to Command line argument

Well my own $.02 would be - "don't do this." Either have command line switches (GetOpt::Std) or prompt. Please don't do both - the prompts will annoy those who want pure command line and switches will confuse those who prefer the prompts. Sure the script can do both but just not at the same invocation. Something along these lines would be ideal:

if( @ARGV ) { process_cmdline(); } else { prompt(); }

There's just something about mixing them that makes me go yech.

-derby