Perl中哈希元素的通配符

Abd*_*del 4 perl hash wildcard

我试图检查是否存在某个哈希元素.哈希有两个键:

if (exists $hash{$key1}{*})
{
then do blabla
}
Run Code Online (Sandbox Code Playgroud)

所以,在*的位置,我想使用通配符(即,该值可以是任何值).在这样的情况下,Perl的通配符charachter是什么?非常感谢!

Que*_*tin 5

没有外卡字符.

您可以获得这样的键列表:

my @keys_in_hash = keys %{ $hash{key1} };
Run Code Online (Sandbox Code Playgroud)

...然后你可以检查它是否有长度,测试使用grep或其他什么.

  • 你应该提到`keys $ hash {key1}`仅适用于Perl> = 5.14. (6认同)
  • 对于早期版本,您需要`keys%{$ hash {key1}}`. (3认同)