ハッシュのリファレンス

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

ハッシュは、my %hash = …として、ハッシュ設定しますが、%hash の先頭に、\ をつけ、\%hash とすると、ハッシュのリファレンスとなり、ハッシュの内容を参照するメモリアドレスが格納されます。

————————————
#!c:/Perl/bin/Perl.exe -w

print "Content-type:text/html\n\n";

my %hash = (
"id" => "0001",
"name" => "山田太郎",
"birthday" => "19860101",
);

my $info = \%hash;

print %hash;
print "<br><br>";
print $info;
print "<br><br>";

print %$info;
print "<br><br>";
print $hash{"birthday"}."<br>";
print $$info{"birthday"}."<br>";
print $info->{"birthday"}."<br>";
————————————

を実行すると、以下のように表示され、$info には、メモリアドレスが格納されているが分かる。
(メモリアドレスはマシンによて変わります)

————————————
name山田太郎id0001birthday19860101

HASH(0x275cd8)

name山田太郎id0001birthday19860101

19860101
19860101
19860101
————————————

また、%$info とハッシュのリファレンスの先頭に、%をつけると、元のハッシュになる。

そして、以下の3つは、同じ値を返します。

$hash{"birthday"} は、最初に作ったハッシュからキーを指定した値を返す。
$$info{"birthday"} は、ハッシュのリファレンスからキーを指定して値を返す。
$info->{"birthday"} は、ハッシュのリファレンスから-> を用いて、キーを指定して値を返す。

スポンサーリンク
 
スポンサーリンク