あなたが言ったことに反して、Perl には、あなたが主張するように、配列のようなものを同等に比較する機能はありません。まず第一に、Perl には配列の等価性に関する定義がありません。また、定義で配列の内容を比較する必要がある場合、Perl には、配列で見つかるほとんどのものに対する等価性の定義もありません。
Perl が等値配列の定義に最も近いのは、それらのアドレスです。それがあなたが使いたいものなら、それはとても簡単です:
$key = ['a', 'b'];
$hash{$key} = [ $key, $val ]; # Prevents the key from being freed.
print $hash{$key}[1];
それ以外の場合、Perl は、提供されているものを強制的に使用するのではなく、必要なものを実装するかどうかをユーザーに任せます。主なアプローチは 2 つあります。
関連付けられたハッシュ (基本的に、実際にはハッシュ テーブルではなくハッシュのインターフェイスを提示するコード) は、任意のキー タイプをサポートできます。これを使用して、配列の等価性のバージョンを定義できます。既存のモジュールが存在する可能性もあります (非常に簡単な検索では見つかりませんでしたが)。
もう 1 つの方法は、キー式から一意のキーを生成する関数を作成することです。
sub key{ "@_" } # Overly simplistic?
$hash{key('a', 'b')} = $val;
print $hash{key('a', 'b')};