perl에서...

koonpal의 이미지

지금 perl 공부를 시작하고 있는데...

$_ 이 문자가 많이 나오네요...

무엇을 뜻하는지 궁금하네요...

부탁 드립니다....

처로의 이미지

입력이나 패턴 검색에서 디폴트로 쓰이는 특별한 전역 변수죠.

예를 들어,

foreach (@array) { s/this/that/; }

이 구문에서 내부적으로 $_를 입력과 패턴 검색을 위해 사용하죠.

위의 예를 풀어 쓰면 이렇게 되는 겁니다.

foreach $_ (@array) { $_ =~ s/this/that/; }

또 텍스트 파일을 읽을 때 이런 구문을 자주 보셨을 텐데,

while (<FH>) { chop; ... }

이것도 풀어 쓰면 이런 거죠.

while (defined($_ = <FH>)) { chop($_); ... }

참고: Programming Perl (2nd Ed.) p. 131

logout의 이미지

man perlvar 해보세요.

perl.com에 가보니 포맷을 예쁘게 해 놓았네요. 링크 올라갑니다.

http://www.perldoc.com/perl5.6/pod/perlvar.html

$_ 는 가장 많이 쓰이는 펄의 built-in variable 중의 하나입니다. 표준 입력을 받을 때 리턴 키가 눌러질 때마다 리턴키가 눌러진 그 한 줄의 내용이 저장되어 있다고 이해하시면 편리합니다. $_ 변수는 생략해도 상관없는 경우가 종종 있습니다. 펄만의 독특한 프로그래밍 스타일이죠.

다음 프로그램을 돌려보세요.

#!/usr/bin/perl

while (<stdin>)
{
         print $_;
}

중간의 print $_; 는 생략해서 print; 해도 돌아갑니다. while(<stdin>)은 제대로 적으면 while ($_ = <stdin>)이 되겠죠.

"I conduct to live,
I live to compose."
--- Gustav Mahler