my $args = opts()->parse(@ARGV); warn Dumper($args); sub opts { return Smart::Options->new->options( arg1 => {describe => "arg1 description", demand => "arg1"}, # demand => arg_name arg2 => {describe => "arg2 description", alias => "a2"}, # alias => alias_name arg3 => {describe => "arg3 description", default => "ARG3"}, # default => default_value bool => {describe => "boolean option" , boolean =>