Подтвердить что ты не робот

Perl, как проверить, остается ли массив пустым?

Это должно быть просто, надеюсь. Я инициализирую пустой массив, делаю grep и помещаю в него результаты (если есть), а затем проверяем, пуст ли он. Например:

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

Какой стандартный способ сделать это?

4b9b3361

Ответ 1

Вы увидите все эти идиомы, используемые для проверки того, пуст ли массив.

if ([email protected])
if (@match == 0)
if (scalar @match == 0)

В скалярном контексте массив оценивается как количество содержащихся в нем элементов.

Ответ 2

Если вы используете arrayref вместо массива, скажем, например,

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

Скажем выше, возвращает массив, затем используйте:

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