Perl如何检查数组是否仍为空?

时间:2012-10-05 18:30:00

标签: arrays perl

希望这很简单。我初始化一个空数组,做一个grep并将结果(如果有的话)放入其中,然后检查它是否为空。像这样:

my @match = ();
@match = grep /$pattern/, @someOtherArray;
if (#match is empty#) {
    #do something!
}

这样做的标准方法是什么?

2 个答案:

答案 0 :(得分:52)

您将看到所有这些习惯用于测试数组是否为空。

if (!@match)
if (@match == 0)
if (scalar @match == 0)

在标量上下文中,数组被计算为它包含的元素数。

答案 1 :(得分:1)

如果您使用的是arrayref而不是数组,请说明例如。

$my existing_match = data_layer->find('Sale',{id => $id});

如上所述返回一个数组,然后使用:

if( scalar(@$existing_match) == 0)