NMTnet|404 Not Found エラー のプログラムについて

バグを見つけたかもしれない。

Helvetica-Bold などの - を含んだ単語が変換されない。hoge10 のように数字を含んだ単語があると、数字部分がバイナリーに変換される。

42 行目の

s@($p)|(\s+\d\s+|\s*[-\d]\d+\s*)|(/\w+|\s*[a-zA-Z]+\s*)@

s@($p)|(\s+\d\s+|\s*[-\d]\d+\s*)|(/\w+|\s*[a-zA-Z][a-zA-Z\d-]*\s*)@

とかにした方がいいのではないでしょうか。追記:これも 10hoge のように語頭に数字があるとバイナリーになってしまうじゃないか。

abs が変換されない。

50 行目が

my$a=my$b=$3;$a=~s!\s+!!g;$c{$a}?pack'CC',146,$c{$a}:$b

になっていますが、

my$a=my$b=$3;$a=~s!\s+!!g;exists($c{$a})?pack'CC',146,$c{$a}:$b

とした方がいいと思います。

文字列の中に \( が含まれていて、その後に続くプログラムコードが数十文字以上あると、変換に非常に時間がかかる。

41 行目を

$p=qr/\((?:(?:[^()]|\\\(|\\\))+|(??{$p}))*\)/;

から

$p=qr/\((?:(?:[^()\\]|\\\(|\\\))+|(??{$p}))*\)/;

に変えたら速くはなりますが、適切かどうかはわかりません。