我有这个多维数组:
@valid_values = (["val00", "val01", "val02"], ["val10", "val11", "val12"]);
通过grep我想检查多维数组的第一个数组中是否存在某个值。 我尝试过这样的事情:
if (grep $_ eq $check_value, @valid_values[0]) {print "ok\n"}
但这不起作用。我也尝试使用$valid_values[0]
,但我认为这只会返回对数组的引用,因此我使用@
取消引用它。
关于如何返回2d数组的整个第一个数组的任何建议,所以我可以将它用于grep函数?
答案 0 :(得分:3)
@valid_values
的第一个元素是$valid_values[0]
。
第一个元素中的值是数组引用。要取消引用数组引用,请使用@{ ... }
。
所以要在@valid_values
的{{1}}的第一个元素中获取数组引用所引用的数组。
有关如何处理此类数据结构的详细信息,请参阅perllol,perldsc和perlreftut。