2009-11-23 5 views
6

나는 $* ("달러 별표 (*)"또는 "달러 별")하지만, 펄 보고서의 내 버전을 사용 http://www.hyllander.org/node/23에서 일부 코드가 있습니다 :

$* is no longer supported at migrate.pl line 284. 

당신이

을하는 부작용 무엇인지 알고 계십니까
$*=1 

어쨌든 split 또는 토큰 화기 또는 정규식과 같은 기능에 영향을 미쳤습니까?

+1

모든 perl 변수는 perlvar에 문서화되어 있습니다. –

+4

perl 5.10을 사용하지 않는 한. 그것은 Perl의 모든 변수를 기록하지만 중단 된 변수는 기록하지 않습니다. – innaM

+0

특정 버전의 설명서는 예 : http://search.cpan.org/dist/perl-5.8.5 – ysth

답변

16

여기 perldoc perlvar의 출력의 일부 :

$ * 문자열 내에 멀티 라인 일치 할 영이 아닌 정수 값으로 설정, 0 (또는 정의)는 것을 펄 알릴 때 패턴 일치를 최적화하기 위해 문자열에 행이 하나 있다고 가정 할 수 있습니다. 패턴 일치가 인 경우 여러 개의 줄 바꿈이 포함 된 문자열 은 $ * 이 0이거나 정의되지 않은 경우 혼란스러운 결과를 초래할 수 있습니다. 기본값은 입니다. (니모닉 : *는 여러 항목과 일치합니다.)이 변수 은 "^"및 "$"의 해석에만 영향을줍니다. 문자형 개행 문자는 "$ * == 0"인 경우에도 으로 검색 할 수 있습니다. $의

사용 *은 "/ s의"와 "/ m"패턴 매칭에 수정으로 대체, 현대 펄에서 더 이상 사용되지 않습니다. $ * 수있는 비 수치 할당

경고를 트리거 (그리고하게 $ * "$ *이 == 0"법 경우), $ *에 수치를 할당하면서 것은 만드는 "는 암시 int "는 값에 적용됩니다.

+0

고마워! (구글을 사용하여'$ * '을 찾는 데 어려움을 겪었습니다. 검색 엔진이 그 키워드를 무시하기 때문입니다.) – scraimer

+2

@scraimer : 먼저 컴퓨터에 설치된 설명서를 참조하십시오 :'$ perldoc perltoc' –

+0

내 컴퓨터는 perl 5.10 용이고,'$ *'는 그 버전에 의해 사용이 중단 되었기 때문에,이 문서는 더 이상 그 문서를 가지고 있지 않다. – scraimer

관련 문제