'[]'是Perl中有效的正则表达式吗?

New*_*low -3 regex perl

[ [ 'or', [ 'ar', 1, undef, ['v'] ], ['v'] ] ]
Run Code Online (Sandbox Code Playgroud)

这是什么意思?在Perl或Perl正则表达式?它试图通过什么?这有效吗?我认为[]只能是正则表达式中的字符.

小智 6

它与此上下文中的正则表达式无关.它创建一个包含其他arrayref的arrayref - 换句话说,就是一个复杂的数据结构.您可以将其存储在标量中:

my $foo = [ [ 'or', [ 'ar', 1, undef, ['v'] ], ['v'] ] ];
Run Code Online (Sandbox Code Playgroud)

打印一些东西:

say $$foo[0][0];       # "or"
say $$foo[0][1][0];    # "ar"
say $$foo[0][1][3][0]; # "v"
Run Code Online (Sandbox Code Playgroud)