检查字符串的最佳方法是Perl中有多个值之一?

Bar*_*t B 2 perl

我只是在一些Perl代码的中间,我发现自己编写了如下所示的一行代码的怪异.Perl充满了很棒的小捷径,只需要比这更好的方式吗?

那么 - 有更好的方法来做到这一点:

unless($config->{'case_transform'} eq 'NONE' || 
       $config->{'case_transform'} eq 'UPPER' ||
       $config->{'case_transform'} eq 'LOWER' ||
       $config->{'case_transform'} eq 'CAPITAL' ||
       $config->{'case_transform'} eq 'RANDOM')
{
    $config->{'case_transform'} = 'NONE';
}
Run Code Online (Sandbox Code Playgroud)

Kei*_*son 6

my %good_value = map { $_ => 1 } qw( NONE UPPER LOWER CAPITAL RANDOM );

unless $good_value{$config->{case_transform}) {
    $config->{case_transform} = 'NONE';
}
Run Code Online (Sandbox Code Playgroud)