あっ間違えた。半角英数字以外の文字を1文字ずつaにする方法が知りたかったのだ。
$val=~s/[^A-Za-z0-9]/a/g;でいいのでしょうか。