
ハッシュのハッシュを行いたいですがうまくいきません。
◆正しい例
%ultraman = (
TARO => { cpu => "Celeron(266MHz)",
memory=> "32MB",
hdd => "4.3GB",
},
JACK => { cpu => "Pentium2(333Mhz*2)",
memory=> "128MB",
hdd => "9GB*4",
},
);
$name = "JACK";
$item = "cpu";
print "\$ultraman{$name}{$item}=[$ultraman{$name}{$item}]";
exit(0);
__END__
◆このように使えたら便利(要はハッシュの代入でハッシュのハッシュを実現したい)
%a=();
%b = ("cpu"=>"aaaa", "memory"=>"bbbb");
$a{'JACK'} = %b; #---> このように代入したい
$name = "JACK";
$item = "cpu";
print "\$a{$name}{$item}=[$a{$name}{$item}]";
exit(0);
__END__
No.3ベストアンサー
- 回答日時:
$hash{'key'} = %value;
のように、ハッシュの値としてハッシュを代入すること
はできません。コンパイルは通りますが意味不明の結果
となります。
ハッシュの値として使えるのはスカラーです。
従いまして、ハッシュのハッシュを実現するためには
リファレンスを使う必要があります。リファレンスは
スカラーの一種です。
メソッド1
$hash{'key'} = \%value;
メソッド2
$hash{'key'} = {'key' => 'value'};
メソッド3
$value_hash = {'key' => 'value'};
$hash{'key'} = $value_hash;
ご参考になれば幸いです。
No.1
- 回答日時:
$a{'JACK'} = \%b; #("\"を追加)
わずかな違いのようで、
実は大きな違いというべきなのかもしれませんが、
詳細は書籍などにおまかせします(^^;
ポイントとしては、
「参照」の扱い方が絡んでいます。
そのあたりを確認されてみると他にも面白い発見があるかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- MySQL mysqlで INSERT と SELECTの用途は 1 2022/04/01 00:45
- その他(コンピューター・テクノロジー) ハッシュ値を取ったらその取ったハッシュ値はどのように保管すればよいのでしょうか?ハッシュ値のデータす 2 2023/07/02 19:40
- モニター・ディスプレイ どのモニターを買うか迷っているのですが、 5 2022/05/03 09:57
- その他(コンピューター・テクノロジー) なぜデータの整合性を確認する時はハッシュ値で確認するのでしょうか?ハッシュ値は衝突する可能性があるの 5 2023/07/05 20:38
- その他(コンピューター・テクノロジー) exFATの外付けSSDからパソコンのNTFSの内蔵ストレージにコピーした場合はコピーしたデータのハ 2 2023/08/09 19:51
- その他(コンピューター・テクノロジー) 外付けHDDや外付けSSDのデータが壊れていないかをハッシュ値で確認する方法は確実ではないって本当で 3 2023/06/26 20:42
- その他(コンピューター・テクノロジー) 最新の世代のCPUや最新の規格のメモリなどの最新のハードは故障や不具合が起きるのですか? 私が欲しい 5 2023/08/26 19:41
- 英語 下記の英語は正しいですか? 2 2022/07/04 16:38
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
重複ファイルを削除したいので...
-
perl入門
-
まったく同じファイルのハッシ...
-
ハッシュにおける値の取り出し
-
perlのデータ構造? デバッグ...
-
ハッシュマーク以降のアドレス取得
-
ハッシュ検索はなぜ速い
-
一意(ユニーク)かつ、ソート...
-
ハッシュ値を取ったらその取っ...
-
ハッシュの値のグループ化について
-
ハッシュ値によるファイルの同...
-
Perlのサブルーチンの引数に配...
-
連想配列のサイズ制限
-
チェックデジットについて
-
UWSCの終了の仕方
-
foreachでループした変数を他の...
-
ソート順の配列に順位表示する
-
ごめんなさい 応用てきだとおう...
-
VBAでの一時停止と再開の方法
-
クッキーが無効のとき処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字列を変数名として扱う方法
-
チェックデジットについて
-
ハッシュ検索はなぜ速い
-
列挙型と連想配列の違いを教え...
-
短いハッシュの作り方
-
まったく同じファイルのハッシ...
-
ハッシュのキーを変数で
-
ハッシュ値が一致したデータは...
-
動的なハッシュの配列を作成したい
-
ハッシュマーク以降のアドレス取得
-
ハッシュのハッシュを実現したい。
-
投票データをハッシュを使用し...
-
*(アスタリスク)の意味
-
perlで配列名を動的に作り出したい
-
ハッシュ値によるファイルの同...
-
ハッシュリファレンスの無名変数
-
VBAにハッシュ関数はないのです...
-
英語でのシャープとコメの呼び...
-
無名配列や無名ハッシュの値を...
-
javaのLinkedHashMapの機能相当...
おすすめ情報