Really one of the most useful modules I have every compiled. Compiled no issues on very old HPUX PA-RISC, newer IA64 and RHEL X86_64. Super documentation and loved I could just drop it in for replacement of Spreadsheet::WriteExcel.
There are a lot of competitors out there in the Getopt::* namespace, but none I've looked at actually seem like they're worth the trouble.
Getopt::Long does around 90% of what you really need, though in my opinion the default behavior is a little unfortunate: don't ignore the "bundling" and "no_ignore_case" options. If you want some clues about The Right Way to do use Getopt::Long, take a look at Andy Lester's App::Ack... he's already thought about this harder than you and I have.