in reply to How to write script usage section
Consider Getopt::Declare as an alternative. It's worth reading about - it basically combines both the usage statement and the Getopt call.