我想在Perl中使用grep函數來查找數組中正則表達式匹配的數量。我知道grep應該採取一個列表作爲其參數,但不幸的是,我試圖訪問的數據是以數組的形式。下面是我的問題的一個簡化示例:如何在數組中使用Perl的grep函數?
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不喜歡數組。有沒有我應該使用的替代方案,或者是我的語法不正確?
這很有道理。我沒有意識到,方括號創建了一個數組的引用,而不是隻填寫索引。 – 2015-03-02 23:42:50