Perl return 来自多维数组的数组

Perl return array from multidimensional array

我有这个多维数组:

@valid_values = (["val00", "val01", "val02"], ["val10", "val11", "val12"]);

我想通过 grep 检查多维数组的第一个数组中是否存在某个值。 我试过这样的事情:

if (grep $_ eq $check_value, @valid_values[0]) {print "ok\n"}

虽然这不起作用。我也尝试过使用 $valid_values[0],但我认为这只会 return 对数组的引用,所以我使用 @ 取消引用它。

关于如何 return 二维数组的整个第一个数组,以便我可以将其用于 grep 函数的任何建议?

@valid_values 的第一个元素被访问为 $valid_values[0]

第一个元素中的值是数组引用。要取消引用数组引用,请使用 @{ ... }.

因此要获取 @valid_values 的第一个元素中的数组引用所引用的数组,您需要 @{ $valid_values[0] }.

有关如何处理此类数据结构的更多详细信息,请参阅 perllol, perldsc and perlreftut