[Fswiki-dev] Re: Perl Tips 参照渡し

Back to archive index

Naoki Takezoe takez****@aa*****
2005年 11月 8日 (火) 06:18:45 JST


竹添です。

正規表現の件に関しては、可能かもしれないと思い、検証してから
回答しようと思っていたのですが、

あき wrote:
> あきです。
> 
> 
>>ということで、試しにsearchプラグイン(?)の改良版で試してみました。
>>速度が低下することもなく、良好に動作しています。
>>
>>キーワード検索結果を色分け表示させるパッチ
>>http://fswiki.poi.jp/wiki.cgi?page=BugTrack%2Dplugin%2F235
>>
>>後はページの自動リンクでしょうか?
>>それとも、それ以外にもまだ有りますか?
>>あまり多いと対応するのが億劫になりそうですが…。

すべては把握できていないのですが、ページの自動リンク以外にも
修正すべき部分があったと思います。

> 難しいですねぇ。(>_<)
> 何やら高速化の為のおまじないみたいなことをしているらしくて…。
> lib/Wiki/Keyword.pmのload_keywords()関数で$self->{regex}
> に詰め込んでいるものがまるで魔法のようです。
> 私にはまるで『ちんぷんかんぷん』です。quotemeta?
> 複数のキーワードと高速にマッチさせる手法でしょうか?

quotemetaは正規表現に文字列を組み込む場合に
正規表現のメタ文字をエスケープする関数ですね。

> 確かに、ここを分解して一つ一つをサーチすると遅くなってしまいそうです。
> 逆にexists_keyword()関数の「if($str =~ /$regex/){ … }」の部分は
> そのままにて、このif()文に入った時だけ、詳細なチェックをするのは
> いかがでしょう?
> マッチした行しか詳細チェックの対象になりませんので、速度的なロスは
> 最小限で済みそうな気がしますが…。
> 表示しようとしているページだけが対象ですよね?

自動リンクに関してはそれでよさそうな気がします。
まずは直さなければいけないところを特定してからですね。

ちなみに4.0では文字コードがUTF-8になるので、
こういった対応は不要になるかと思います。

-- 
Naoki Takezoe <takez****@aa*****>




Fswiki-dev メーリングリストの案内
Back to archive index