Я пытаюсь использовать функцию grep в Perl, чтобы найти количество совпадений для регулярного выражения в массиве. Я знаю, что grep должен взять список в качестве своего параметра, но, к сожалению, данные, которые я пытаюсь получить, имеют форму массива. Вот упрощенный пример моей проблемы:Как использовать функцию grep Perl с массивом?
using strict;
using warnings;
my @test = qw(AAA AAB AAC);
my @test2 = ["AAA", "AAB", "AAC"];
my @results = grep(m/AA./, @test);
my @results2 = grep(m/AA./, @test2);
print @results . "\n";
print @results2 . "\n";
Первый отпечаток выдает 3, так как соответствует каждому члену списка. Вторая печать печатает 0, которую я предполагаю, потому что grep не любит массив. Есть ли альтернатива, которую я должен использовать, или мой синтаксис неверен?
Это имеет смысл. Я не понимал, что квадратные скобки создают ссылку на массив, а не просто заполняют его индексы. –