Regex 从行/文件中提取所有匹配模式

Regex 从行/文件中提取所有匹配模式,regex,perl,Regex,Perl,有没有一种简单的方法可以将所有匹配模式从一行或文件提取到一个Perl数组 不使用循环?类似 my @matches = ($line =~ /pattern/g); 其中,$line可能是您正在查看的行或文件的内容。在列表上下文中使用/g @matches = $lines =~ /.../gm 此外,CPAN上的File::Slurp是一种一次读取文件所有行的短方法 use File::Slurp; my $text = read_file( 'filename' ) ; 为什么不想使

有没有一种简单的方法可以将所有匹配模式从一行或文件提取到一个Perl数组 不使用循环?

类似

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

其中,$line可能是您正在查看的行或文件的内容。

在列表上下文中使用
/g

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

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

use File::Slurp;

my $text = read_file( 'filename' ) ;

为什么不想使用循环呢?这样做肯定会涉及到一个循环。您所能做的就是将其隐藏在类似于
map
或全局正则表达式的内容中。这是一个奇怪的要求。