2012-04-26 3 views
-2

루프를 사용하지 않고 라인이나 파일에서 Perl 배열로 일치하는 패턴을 모두 추출하는 쉬운 방법이 있습니까? $ 라인은 당신이보고있는 행 또는 파일의 내용을 어느 것이모든 일치하는 패턴을 한 줄/파일에서 추출하십시오.

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

같은

+3

왜 루프를 사용하지 않으시겠습니까? –

+0

이 작업을 수행하는 데 필요한 루프가 있어야합니다. 할 수있는 일은'map'이나 글로벌 정규 표현식 같은 것으로 숨길 수 있습니다. 기괴한 요구 사항입니다. – Borodin

답변

1

목록 컨텍스트에서 /g을 사용하십시오.

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

또한 File :: Slurp on CPAN은 파일의 모든 행을 한 번에 읽을 수있는 짧은 방법입니다.

use File::Slurp; 

my $text = read_file('filename') ; 
관련 문제