ちょい質問です。

if ($] > 5) {
 eval( $icode = &jcode'getcode(\$hash{$key}) );
}
else {
 $tmp = $hash{$key};
 $icode = &jcode'getcode(*tmp);
}

Perl4でのエラーを回避しようとeval に放り込んでみたんですが
やっぱりエラーでしょうか?