-my($params, $action, $label, $actionlabel, $color, $cust_main, $width);
-my $closetext = '';
-if (ref(@_[0]) eq 'HASH') {
- $params = shift;
- foreach (qw(action label actionlabel width color)) {
- $action = $params->{'action'} if exists $params->{'action'};
- $label = $params->{'label'} if exists $params->{'label'};
- $actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'};
- $width = $params->{'width'} if exists $params->{'width'};
- $color = $params->{'color'} if exists $params->{'color'};
- $closetext = $params->{'closetext'} if exists $params->{'closetext'};
- $cust_main = $params->{'cust_main'} if exists $params->{'cust_main'};
- }
-}else{ # deprecated
- ($action, $label, $actionlabel, $color, $cust_main) = @_;
+
+my $params = { 'closetext' => 'Close' };
+
+if (ref($_[0]) eq 'HASH') {
+ $params = { %$params, %{ $_[0] } };
+} else {
+ $params = { %$params, @_ };