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}))*\)/;
に変えたら速くはなりますが、適切かどうかはわかりません。