Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: filter/macbinary.pl試用結果



寺西です。

Tadamasa Teranishi wrote:
> 
> "Sakuma,Hiroaki" wrote:
> >
> > > ただ、この場合 $6 が設定されない場合(たぶん)に
> > >
> > > Use of uninitialized value in concatenation (.) or string at
> > > /usr/local/share/na
> > > mazu/filter/html.pl line 313.
> > >
> > > とワーニングがでてしまうのが厄介です。
> >
> > この問題だけを解決するなら,
> >
> > element_space("$2$6")
> >
> > でワーニングは出ません.
> 
> $2 もマッチしないことがあるようで、まだ出ますね。
> # それとも、何か勘違いしているかもしれませんが。うーむ。

Perl は詳しくないのでよくわらないのですが、
やっぱり参照するのでワーニングがでるようです。
(しかも $6 じゃなくて $4 でした。)

$$contref =~
s!</?(([A-Z]\w*):*\w*(?:\s+[A-Z]\w*(?:\s*=\s*(?:(["']).*?\2|[\w\-.]+))?)*|(\!)\[[^>]*\])\s*>!if
(defined $2) { element_space($2); } else { element_space($4); }!gsixe;

とすればとりあえず大丈夫そうです。
# なんか泥臭いけど。

ちなみに分ける場合は、以下のものを remove all elements に入れれば
良いようです。(本質的にはどちらも同じです。当たり前だが。)

    # remove Office Markup <o:></o:>, <![]>
    $$contref =~ s!</?([A-Z]\w*):.*?>|<(\!)\[.*?\]\s*>!if (defined $1) {
element_space($1); } else { element_space($2); }!gsixe;

# 簡単なテストはしましたが、合っているかどうかは自身なし。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E