당신은
my %hash = (key1 => 'value1', key2 => 'value2'); # Hash
또는
my $hash = { key1 => 'value1', key2 => 'value2' }; # Reference to hash
하려면, 그것은 키 - 값 쌍의 목록으로 처리하므로 적절한 방법에있다 해시 초기화 :
my %hash = (key1 => 'value1', key2 => 'value2');
{ ... }
그것은 익명의 해시를 생성하고 참조를 반환
do { my %anon = (...); \%anon }
유사하다. 하나의 참조 키 - 값 쌍의 목록이 아닙니다, 그래서 다음은 아무 의미하지 않는다 : 당신이 해시에 대한 참조를 저장할 않은 경우, 당신은 스칼라에 저장할 것
my %hash = { ... }; # XXX
합니다.
my $hash = { ... }; # ok
그래서 할 다음 무엇을, 다음?
my $hash = (a => 'b', c => 'd');
음,
a => 'b', c => 'd'
이
'a', 'b', 'c', 'd'
우리가 스칼라에 할당하고 이후를 작성 단지 멋진 방법, 할당 연산자의 오른쪽은 스칼라 컨텍스트에서 평가됩니다. 스칼라 문맥 리터럴 목록 (예컨대 'a', 'b', 'c', 'd'
)는 그렇게
my $hash = (a => 'b', c => 'd');
는
my $hash = 'd';
'엄격한 사용을 의미하고, 그 마지막 항목으로 평가하여; ' – friedo