我的代码是这样的:
if ( $var eq "str1" || $var eq "str2" || $var eq "str3" )
{
...
}
Run Code Online (Sandbox Code Playgroud)
反正有没有优化这个.我想要的东西:
if ( $var eq ["str1" || "str2" || "str3"] ) {...}
Run Code Online (Sandbox Code Playgroud)
Mar*_*tos 14
根据字符串的内容,正则表达式非常方便:
if ($var =~ /^(str1|str2|str3)$/) { … }
Run Code Online (Sandbox Code Playgroud)
如果做不到这一点,您可以查看列表:
if (grep { $var eq $_ } qw{str1 str2 str3}) { … }
Run Code Online (Sandbox Code Playgroud)
Eug*_*ash 14
在Perl 5.10或更高版本中:
if ($var ~~ [qw( str1 str2 str3 )]) { ...}
Run Code Online (Sandbox Code Playgroud)
该~~运营商做了智能匹配它的参数之间.