Thanks. I have some default server already configured in .visdkrc, but relying on that is cumbersome, especially since I am trying to use different servers based on a specific user input.
After reading through some subs in VILib.pm, look like Opts::set_option('server' => $server) is all I need:
# validate options, and connect to the server
Opts::add_options(%opts);
Opts::parse();
Opts::validate();
Opts::set_option('server' => 'XXXX');
Util::connect();