my %opt = ( DEBUG => 0, OTHER_UNRELATED_OPT => "Other values", # snip 8< --- more params here ... LOCALHOST => $ENV{HOSTNAME} || $ENV{COMPUTERNAME} || $ENV{HOST}, DATEFIELD => sub{ local $_={}; @$_{qw|sec min hour mday mon year wday yday isdst|} =localtime(time); $_->{year}+=1900; $_->{mon}+=1; $_->{yyyymmdd} = sprintf "%04d-%02d-%02d", @$_{qw|year mon mday|}; $_->{hhmm} = sprintf "%02d:%02d", @$_{qw|hour min|}; return $_} # end of anon sub ->(), # Call the sub REMOTE_PARAMS => "", );