For the option parsing itself, that'll depend on how much extra
work you put into the declaration (action blocks, more sophisticated
parameter checking, etc.). Certainly it isn't the option-processing
answer to every problem, but if it's easy to code and read and the
startup/parse hit (amortized over runtime) isn't crucial, it is
certainly worth looking into. It won't compete with Getopt::Std for
efficiency on simple things, but there's a boatload of functionality
I didn't mention -- here's the clustering example from the docs:

Also: optional parameter lists, abbreviations, mutex directive (only
one of a given set of options may appear on the command line). And,
it can be told to parse a config file rather than @ARGV, and can
return the parser object itself so you could use it to parse multiple
such sources. There might even be a kitchen sink in the source
somewhere, and you never know when one of those will come in handy.