+
+my $remote;
+my $chain;
+my $cmd;
+while (@f) {
+ my $f = lc shift @f;
+ if ($f eq 'remote') {
+ $remote = uc shift @f if @f;
+ next;
+ }
+ if ($f eq 'cmd') {
+ $cmd = lc shift @f if @f;
+ next;
+ }
+ if ($f eq 'chain') {
+ if (@f) {
+ $chain = [ @f ];
+ last;
+ }
+ }
+}
+DXDb::new($name, $remote, $chain, $cmd);