$_ 는 가장 많이 쓰이는 펄의 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
입력이나 패턴 검색에서 디폴트로 쓰이는 특별한 전역 변수죠.예를
입력이나 패턴 검색에서 디폴트로 쓰이는 특별한 전역 변수죠.
예를 들어,
foreach (@array) { s/this/that/; }
이 구문에서 내부적으로 $_를 입력과 패턴 검색을 위해 사용하죠.
위의 예를 풀어 쓰면 이렇게 되는 겁니다.
foreach $_ (@array) { $_ =~ s/this/that/; }
또 텍스트 파일을 읽을 때 이런 구문을 자주 보셨을 텐데,
while (<FH>) { chop; ... }
이것도 풀어 쓰면 이런 거죠.
while (defined($_ = <FH>)) { chop($_); ... }
참고: Programming Perl (2nd Ed.) p. 131
man perlvar 해보세요.perl.com에 가보니 포맷을 예
man perlvar 해보세요.
perl.com에 가보니 포맷을 예쁘게 해 놓았네요. 링크 올라갑니다.
http://www.perldoc.com/perl5.6/pod/perlvar.html
$_ 는 가장 많이 쓰이는 펄의 built-in variable 중의 하나입니다. 표준 입력을 받을 때 리턴 키가 눌러질 때마다 리턴키가 눌러진 그 한 줄의 내용이 저장되어 있다고 이해하시면 편리합니다. $_ 변수는 생략해도 상관없는 경우가 종종 있습니다. 펄만의 독특한 프로그래밍 스타일이죠.
다음 프로그램을 돌려보세요.
중간의 print $_; 는 생략해서 print; 해도 돌아갑니다. while(<stdin>)은 제대로 적으면 while ($_ = <stdin>)이 되겠죠.
"I conduct to live,
I live to compose."
--- Gustav Mahler
댓글 달기