[Perl] 변수로 정규식 패턴을 쓸 때
글쓴이: doldori / 작성시간: 화, 2005/01/25 - 10:19오전
my $pattern = '(fred|wilma) flintstone'; my $replace = '\\u\\L$1\\E Flintstone'; while (<>) { s/$pattern/$replace/g; print; }
이렇게 할 때 $replace의 문자열이 메타캐릭터로 동작하지 않고 단순한 스트링으로
처리됩니다. 위의 코드에서 "fred flintstone"을 입력하면 "\u\L$1\E Flintstone"을
출력한다는 거죠. 제가 원하는 출력은 "Fred Flintstone"인데 말이죠.
이런 걸 하려면 perlfaq를 보라고 하는데 살펴봐도 못찾겠습니다.
$replace를 메타캐릭터로 동작하게 하려면 어떻게 해야 하나요?
Forums:
Re: [Perl] 변수로 정규식 패턴을 쓸 때
${$replace} ???????
Re: [Perl] 변수로 정규식 패턴을 쓸 때
뉴스그룹에서 겨우 답을 찾았답니다. 저도 예전에 이걸로 고민한 적이 있는지라.... /e 옵션으로 execute시켜서 정규식 객체로 만들어주는 것이 관건이네요.
$replace literal에 '다음에 "가 있는 것에 유의하세요.
...
Re: [Perl] 변수로 정규식 패턴을 쓸 때
정말 감사합니다. :D
댓글 달기