sub struct {   if (ref($_[0])) {      if (ref($_[0]) eq 'HASH') {         return $_[0];      } else {         croak "not a hash ref";      }   } elsif (@_ & 1) {      croak "odd number of elements in hash";   } else {      return {@_};   } }