1. ホーム
  2. perl

[解決済み] Perlでハッシュを結合するには?

2022-12-16 07:57:25

質問

両方のハッシュを %hash1 に結合する最良の方法は何ですか。 私は、%hash2 と %hash1 が常に一意のキーを持っていることを知っています。 また、可能であれば、1 行のコードが望ましいです。

$hash1{'1'} = 'red';
$hash1{'2'} = 'blue';
$hash2{'3'} = 'green';
$hash2{'4'} = 'yellow';

どのように解決するのですか?

クイックアンサー (TL;DR)

    hash1 = (%hash1, %hash2)

    ## or else ...

    hash1{キー %hash2} = 値 %hash2;

    ## あるいは参照で ...

    $hash_ref1 = { %$hash_ref1, %$hash_ref2 };


概要

  • コンテキスト。 Perl 5.x
  • 問題あり。 ユーザは2つのハッシュをマージしたい 1 を一つの変数に統合したい。

解決方法

  • 単純な変数には、上記の構文を使用します。
  • 複雑なネストされた変数には Hash::Merge を使用します。

落とし穴

こちらもご覧ください


脚注

1 * (別名 連想配列 , 別名 辞書 )