This is a modified version of Daniel Berger‘s Getopt::Long class, licensed under Ruby‘s license.
[Validate]