sub new { {...} $O->{'synonyms'} = { 'rm' => 'REQUEST_METHOD', 'q' => 'QUERY_STRING', {...} }; {...} } sub get { my ($O, @keys) = @_; my $result = {}; for my $k (@keys) { my $real_key = $O->{'synonyms'}->{ $k } || $k; my $func = $O->{'get-funcs'}->{ $real_key } || 'get_error' ; $result->{ $k } = $O->$func ($real_key); } return ($result); }