my (@possible_values) = qw(view edit modify delete nuke); my (%possible_values) = do { my $n; map { $_, $n++ } @possible_values; }; $encoded_param = $possible_values{'mode'}; $decoded_param = $possible_values[$encoded_param];