07/08/02 23:02:44
>>735
いいえ。違います。
速くしたいのならmmap()でも使いますが、Perlで以下の3行で済む下らない
仕事に一体何行費やすつもりですか。
試しにCのコードを書いてみてください。可変長の文字列を使う時点で既に
Cでは面倒くさいです。
$s =~ s{(.+)[#「\1」に傍点]}{
sprintf('<ruby>%s<rt>%s</ruby>', $1, 'ヽ' x length($1))}ego;
$s =~ s/|?([々\x{4E00}-\x{9FFF}\x{F900}-\x{FAFF}]+)《(.+?)》/<ruby>$1<rt>$2<\/ruby>/go;
$s =~ s{([||〔\s])([^|〔《》\s]+)《(.+?)》}{sprintf(
'%s<ruby>%s<rt>%s</ruby>', ($1 eq '|') ? "" : $1, $2, $3)}ego;