-
- 1. 해쉬 관련 함수
-
- 2. Anonymous Hash
-
- 3. 중괄호 안 bareword
-
- 4. keys, values, each 와 레퍼런스 인자
-
- 5. 기타
-
- 6. Comments
-
1. 해쉬 관련 함수
keys(%scores)
values(%scores)
each(%scores)
delete($scores{key1})
exists $scores{key2}
2. Anonymous Hash
익명 해쉬와 블록은 둘 다 {..} 형태이고 사용되는 위치가 비슷하기 때문에, 위치에 따라서 컴파일러가 잘못 판단하는 경우가 있을 수 있다. 이런 경우 각각을 다음과 같이 사용하여 컴파일러에게 의도를 알려줄 수 있다.
- 익명 해쉬는 앞에 "+"를 붙여서 +{ ... } 의 형태로
- 블록은 empty statement를 넣어서 {; ... } 의 형태로
3. 중괄호 안 bareword
$hash{shift};
$hash{+shift};
push @{+shift}, shift;
4. keys, values, each 와 레퍼런스 인자
Perl 5.12 에서는 이 세 함수가 배열에도 사용 가능하다
Perl 5.14 에서는 이 세 함수, 그리고 배열에 쓰는 함수인 push, unshift, pop, shift, splice까지, 인자로 레퍼런스를 받을 수 있다.
그런데 이 두 가지 변화가 맞물리면서, 문제의 소지가 좀 있는 모양.
6. Comments
컴퓨터분류