parser = GetoptLong.new parser.set_options ['--help', '-h', GetoptLong::NO_ARGUMENT], ['--dry-run', '-n', GetoptLong::NO_ARGUMENT], ['--md5', '-m', GetoptLong::NO_ARGUMENT], ['--des', '-d', GetoptLong::NO_ARGUMENT] begin parser.each_option do |name, arg| eval "$opt_#{name.sub(/^--/, '').gsub(/-/, '_').downcase} = '#{arg}'" end rescue exit 1 end usage if $opt_help