Namazu-devel-ja(旧)


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

Re: perl -d:DProf (Re: HACKING-ja -> mknmz.in)



At Mon, 28 Jul 2003 16:05:28 +0900,
Tadamasa Teranishi wrote:
> my $token = '(' .
>    (join '|', sort {length($a) <=> length($b)}
> @{$self->{SPECIALS}->{$type}})
>    . ')';
> $self->{SPECIALS_RE}->{$type} = qr/$token/m;
> ...
>             if ($tdata =~ /$self->{SPECIALS_RE}->{$type}/g) {
>                 ...
>             }

> ただし、qr// は Perl 5.005 以降しか使えないので、このままこの修正を
> するわけにはいかないでしょうね。

my $token = '(?m)(' .
   (join '|', sort {length($a) <=> length($b)}
   @{$self->{SPECIALS}->{$type}})
   . ')';
$self->{SPECIALS_RE}->{$type} = ($] >=  5.005) ? qr($token) : $token;
...
            if ($tdata =~ /$self->{SPECIALS_RE}->{$type}/g) {
                ...
            }

のようにするとか? Perl 5.004 では、qr// では構文エラーになる
でしょうが、qr() なら呼ばれない限りは大丈夫かと。

# use English; しても $] の別名は用意されないのね。:-(

-- 
-- Name: SATOH Fumiyasu  -- Home: http://www.sfo.jp (in Japanese only)
-- Mail: fumiya @net-thrust.com, @samba.gr.jp, @namazu.org or ...