FYI: An extract from the documentation: Using the "Error" module is no longer recommended due to the black-magical nature of its syntactic sugar, which often tends to break. Its maintainers have stopped actively writing code that uses it, and discourage people from doing so. See the "SEE ALSO" section below for better recommendations.

The libmemcache library that Cache-Memcached-XS uses is no longer being maintained. It has been superseded by libmemcached. See Cache::Memcached::libmemcached and Cache::Memcached::Fast for alternatives.

The new :vars mode lets you use it in a way that's more familiar to users of traditional Getopt modules (individual option variables and 'use strict' checking of option usage) while still making it trivially easy to add powerful command line processing just by documenting what you want in pod.