2011-03-28 5 views
0

스택 내에서 정의 된 로컬 변수가 기존의 다른 변수와 다르며 로컬 변수가 다른 서브 루틴 내에서 볼 수 있다는 것을 제외하고는 perl에서 로컬 사용을 명확하게 이해할 수 없습니다. perldoc perlsub에서C++ 데이터 형식과 관련하여 로컬 데이터 형식을 이해하는 방법은 무엇입니까?

+3

관련 항목 : [Perl에서 'my'와 'local'의 차이점은 무엇입니까?] (http://stackoverflow.com/questions/129607/what-is-the-difference-between-my-and-local -in-perl) (7 지역의 유용한 사용법) (http://perl.plover.com/local.html). – daxim

답변

4

:

local 그냥 글로벌 (의미 패키지) 변수에 임시 값을 제공합니다. 은 로컬 변수를 만들지 않습니다. 이 은 동적 범위 지정이라고합니다. Lexical 범위 지정은 my으로 수행되며 이는 C의 자동 선언과 유사합니다.

+0

'local'은'my' 또는'our'가 없었던 Perl 4의 나머지 부분입니다. 모든 변수는 패키지 변수이며 어휘 범위가 없습니다. 펄 5가 훨씬 좋다. – shawnhcorey

1

local은 변수의 범위가 my에 도입되기 전에 축소 될 수있는 수단이었습니다. 어휘 (my) 변수를 사용할 수없는 경우에만 사용됩니다.

관련 문제