Loading AI tools
위키백과, 무료 백과사전
펄은 동적 지역 변수와 사전적(lexically-scoped) 지역 변수를 둘 다 지원한다. local
키워드를 사용하면 동적 지역 변수를 정의할 수 있으며, my
를 사용하면 사전적 지역 변수를 정의할 수 있다. 동적 변수 지정은 오늘날 흔히 쓰이는 것이 아니므로 펄 문서는 "local
은 대부분의 사람들이 "local"로 생각하는 것이 아니다"라고 경고한다.[1] 그 대신, local
키워드는 일시적인, 동적 값을 전역(package) 변수에 제공하며, 감싸고 있는 블록의 끝에 이를 때까지 지속된다. 그러나 해당 변수는 블록 내에서 호출된 모든 함수들의 측면에서 투명하다.[2] 사전적 지역 변수를 만들기 위해 my
연산자를 대신 사용한다.[3]
동작 방식을 이해하기 위해 다음의 코드를 고려할 수 있다:
$a = 1;
sub f() {
local $a;
$a = 2;
g();
}
sub g() {
print "$a\n";
}
g();
f();
g();
출력물은 다음과 같다:
1 2 1
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.