[PERL]펄로 txt파일에 있는 정규표현식을 짰는데..

lossom93의 이미지

foreach (@text){
 if($_ =~ /$pattern/){
   $result .= $1 . "\n";
  }
}

다음과 같이 $1로 매칭된것을 출력할 수 있습니다.
만약 찾을때 괄호가 여러개일경우 유연하기 위해서 어떻게 하면될까요?

그리고 펄답게 바꿀만한 문장이있을까요?

소스는 아래 첨부시켰습니다
실행은
perl read.pl [파일이름] "[패턴]"입니다.
ex) perl readl.pl read.pl "(^abc.*)"
* 괄호를 하나이상묶어줘야합니다. $1로 출력하기때문

File attachments: 
첨부파일 크기
Plain text icon read.txt872바이트
shint의 이미지

변수
my $val

리스트
my @list

입력
push(@list, $val);

갯수
my $count;
$count = scalar @list;

배열 사용
my @T1;
#T1[0] = $val;

[스크립트] 연속적으로 중복되는 필드 제거
https://kldp.org/node/153774

(도와주세요)Perl 이중배열
https://kldp.org/node/153762

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

raymundo의 이미지

괄호가 여러 개일 때 유연하게...라는 게 사용자가 괄호를 몇 개를 넣든 그 괄호들에 매치되는 부분을 모두 출력할 수 있도록 하고 싶다는 말씀이시라면, 패턴 일치를 리스트 컨텍스트에서 수행하면 매치된 부분들의 리스트를 얻을 수 있습니다.

    foreach (@text){
        my @matched = ( $_ =~ /$pattern/ );
        if ( @matched ) {
            $result .= join ' ', map { "[$_]" } @matched;
            $result .= "\n";
        }
    }

d:\Temp>perl t.pl t.pl "(print).*((?i)not).(Found)"
[print] [Not] [Found]

좋은 하루 되세요!