連想配列(ハッシュ)
連想配列はkey(名前)とvalue(値)のペアで保存するような変数で、通常のスカラ(変数)とは違った使い方ができるのでとても重宝します。
ただ、注意すべき点として、keyとなる部分は、文字コードで管理されているのではないか?ということ。これは、
$hash->{'ABC'} = 1;
$hash->{'abc'} = 2;
$hash->{'AbC'} = 3;
などとしたとき、大文字小文字まで区別されているため、大文字で入力するものが、小文字で入力していると、想定と違う値や未定義値が返るという恐ろしい現象が起こります。
これって、起動時に 'hashkey_case_insensitive' なんていうパラメータがあれば便利かなって思うのですが、たぶんこの辺りのモジュールがあるのかもしれませんが、探す暇もなく・・・。
Perlのオブジェクトでは、オブジェクトとなる変数(self)にぶら下げる属性を全て連想配列で行うので、キーの名前にキャメルケースで
{'sendAndWait'}
なんて定義したら、原因が特定しにくいので間違いなく地獄行きですが、もしかすると、キー名には大文字か小文字のどちらかに限定してスネークケースで
{'SEND_AND_WAIT'}
のように定義するような暗黙の決まりがあるのかも?