맵에 해당하는 변수로 키와 값을 가지고 my % 를 사용해 선언한다.
선언하는 방식은 배열과 유사한데 배열이 [] 를 사용하여 값을 얻는 반면 해시는 {} 를 사용해 값을 얻는다.
또한 해시는 배열로 변환할 수 있는데 이 경우 해시의 키 값과 원소값이 번갈아 나열되서 해시의 두배 크기가 된다.
반대로 배열도 해시로 바로 변환 할 수 있다.
my %scientists = (
"Newton" => "Isaac" ,
"Einstein" => "Albert" ,
"Darwin" => "Charles"
);
print $scientists {"Newton"}; # "Isaac"
print $scientists {"Einstein"}; # "Albert"
print $scientists {"Darwin"}; # "Charles"
print $scientists {"Dyson"}; # 경고를 발생하며, undef 를 반환한다. 출력은 ""이다.
my @scientists = %scientists ;
print "@scientists"; #Darwin Charles Newton Isaac Einstein Albert
|
Operation
아래와 같은 연산이 자주 사용된다.
my %h = ( k1 => "val1" , k2 => "val2");
my $val = $h {k1 };
my @a = %h ;
%h = @a;
foreach my $k ( keys(%h)) { print $k ; }
foreach my $v ( values(%h)) { print $v ; }
while ((my $k , my $v) = each(%h) ) {
print $v ;
print $k ;
}
delete $h {k1 };
if ( exists $h {k1 } ) {print 'test' ;}
|
'Script > Perl' 카테고리의 다른 글
09. string (0) | 2020.01.21 |
---|---|
08. List Data (0) | 2020.01.21 |
06. Array Function (0) | 2020.01.21 |
05. Scalar Data (0) | 2020.01.21 |
04. Variable (0) | 2020.01.21 |