2012-04-26 71 views
-2

是否有一種簡單的方法可以將所有匹配的模式從行或文件提取到Perl數組中 而不使用循環?從行/文件中提取所有匹配的模式

+3

爲什麼你不想使用循環? – 2012-04-26 22:28:32

+0

這樣做肯定會有一個循環。你所能做的就是將其隱藏在「map」或全局正則表達式之類的東西中。這是一個奇怪的要求。 – Borodin 2012-04-27 12:44:39

回答

1

喜歡的東西

my @matches = ($line =~ /pattern/g); 

其中$行要麼是你要尋找的行或文件的內容。

1

在列表上下文中使用/g

@matches = $lines =~ /.../gm 
-1

此外,CPAN上的File :: Slurp是一次讀取文件所有行的簡短方法。

use File::Slurp; 

my $text = read_file('filename') ; 
相關問題