例:「2通りのやり方での要素の追加」
  
$a = {1101 => "青山  霞", 1102 => "小川  橙"} ;
$a->{1103} = "白瀬  藍" ;
$$a{1104} = "滄海  澪" ;
  
print %$a ;
  

例:「全てのやり方での key 要素の指定」
  
$a = {
       1101 => {"英語" => 85, "数学" => 100, "国語" => 90 },
       1102 => {"英語" => 40, "数学" => 25,  "国語" => 60 },
       1103 => {"英語" => 60, "数学" => 50,  "国語" => 75 },
       1104 => {"英語" => 90, "数学" => 85,  "国語" => 100}
      } ;
  
print<<EOF;
1101 番の英語:$a->{1101}->{"英語"} 点
1102 番の数学:$a->{1102}{"数学"} 点
1103 番の国語:$$a{1103}->{"国語"} 点
1104 番の数学:$$a{1104}{"数学"} 点
EOF
  

例:「2通りのやり方でのハッシュ要素の追加」
  
$a = {
        1101 => {"英語" => 85, "数学" => 100, "国語" => 90}
      } ;
  
$a->{1102} = {"英語" => 40, "数学" => 25,  "国語" => 60} ;
$$a{1103}  = {"英語" => 60, "数学" => 50, "国語" => 75 } ;
  
for (1101..1103)
    {print "$_ のハッシュ要素:", %{$$a{$_}}, "\n"}
  

例:「全てのやり方での成分要素の指定」
  
$a = [
       {1101 => "青山  霞", 1102 => "小川  橙", 1103 => "白瀬  藍"},
       {1201 => "柿木  薊", 1202 => "栗田  柚", 1203 => "杉浦  楓"}
      ] ;
  
print <<EOF ;
第 0 ハッシュ:1101 → $a->[0]->{1101}
第 0 ハッシュ:1102 → $a->[0]{1102}
第 1 ハッシュ:1201 → $$a[1]->{1201}
第 1 ハッシュ:1202 → $$a[1]{1202}
EOF
  

例:「全てのやり方での成分要素の指定」
  
@a = (
       {1101 => "青山  霞", 1102 => "小川  橙", 1103 => "白瀬  藍"},
       {1201 => "柿木  薊", 1202 => "栗田  柚", 1203 => "杉浦  楓"}
      ) ;
  
print <<EOF ;
第 0 ハッシュ:1101 → @a->[0]->{1101}
第 0 ハッシュ:1102 → @a->[0]{1102}
第 1 ハッシュ:1201 → $a[1]->{1201}
第 1 ハッシュ:1202 → $a[1]{1202}
EOF
  

例:「3通りのやり方でのハッシュ要素の追加」
  
$a = [
       {1101 => "青山  霞", 1102 => "小川  橙"}
      ] ;
  
push @$a, {1201 => "柿木  薊", 1202 => "栗田  柚"} ;
$a->[2] = {1301 => "青木  雫", 1302 => "緑川  蕾"} ;
$$a[3] = {1401 => "大原  爽", 1402 => "木村  碧"} ;
  
print <<EOF;
1101→ $$a[0]{1101}, 1102→ $$a[0]{1102}
1201→ $$a[1]{1201}, 1202→ $$a[1]{1202}
1301→ $$a[2]{1301}, 1302→ $$a[2]{1302}
1401→ $$a[3]{1401}, 1402→ $$a[3]{1402}
EOF
  
  

例:「3通りのやり方でのハッシュ要素の追加」
  
@a = (
       {1101 => "青山  霞", 1102 => "小川  橙"}
      ) ;
  
push @a, {1201 => "柿木  薊", 1202 => "栗田  柚"} ;
@a = (@a, {1301 => "青木  雫", 1302 => "緑川  蕾"}) ;
$a[3] = {1401 => "大原  爽", 1402 => "木村  碧"} ;
  
print <<EOF;
1101→ $a[0]{1101}, 1102→ $a[0]{1102}
1201→ $a[1]{1201}, 1202→ $a[1]{1202}
1301→ $a[2]{1301}, 1302→ $a[2]{1302}
1401→ $a[3]{1401}, 1402→ $a[3]{1402}
EOF
  

例:「全てのやり方での成分要素の指定」
  
$a  = {
        1101 => [85, 100, 90, 65, 70] ,
        1102 => [40, 25, 60, 10, 30]  ,
        1103 => [60, 50, 75, 40, 55]  ,
        1104 => [90, 85, 100, 95, 85]
       } ;
  
print <<EOF;
1101 の第 0 要素 : $a->{1101}->[0]
1102 の第 1 要素 : $a->{1102}[1]
1103 の第 2 要素 : $$a{1103}->[2]
1104 の第 3 要素 : $$a{1104}[3]
EOF
  

例:「2通りのやり方での配列要素の追加」
  
$a  = {
        1101 => [85, 100, 90, 65, 70]
       } ;
  
$a->{1102} = [40, 25, 60, 10, 30] ;
$$a{1103} = [60, 50, 75, 40, 55]  ;
  
print <<EOF;
1101 の全要素 : @{$a->{1101}}
1102 の全要素 : @{$a->{1102}}
1103 の全要素 : @{$a->{1103}}
EOF