2012-04-26 57 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') ; 
相关问题