モジュールの話かコーディングの話か良くわからなかったのでこちらに。

例えば、JcodeのOOは
 Jcode->new(\$str)->utf8;
の様にすれば良く、これは
 $char = 'utf8';
 Jcode->new(\$str)->$char;
でも良いようなのですが、
 %char(UTF-8 => 'utf8');
 Jcode->new(\$str)->$char{'UTF-8'};
のようにハッシュを使うと構文エラーと言われます。
ハッシュを使うにはどうすれば良いのでしょうか。