ハッシュのリファレンス
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
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"} は、ハッシュのリファレンスから-> を用いて、キーを指定して値を返す。
- - 関連記事 -
- WWW::Mechanizeのインストール(Windows ActivePerl)
- ハッシュや無名ハッシュからサブルーチン呼び出し
- サブルーチンのリファレンス
- open関数でファイルを読み込む
- open関数でファイルを開いて書き込む
- サブルーチンの定義と活用
- Perlのヒアドキュメント
- open演算子とclose演算子 ファイルハンドルのオープンとクローズ
- each関数
- ハッシュ%
- コマンドプロンプトからのPerlの実行
- 比較演算子