From: "Bartosz DziewoƄski" Date: 2012-06-16T18:32:39+09:00 Subject: Re: Help using optionparser The non-flag command line arguments are left in ARGV after OptionParser runs. So you would do something like if options[:p] == 'B' or options[:p] == 'C' if ARGV.length != 0 raise 'unexpected argument' else do_stuff ARGV[0] end end -- Matma Rex