особенность perl_module
Igor Sysoev
is at rambler-co.ru
Wed Dec 12 12:16:06 MSK 2007
On Wed, Dec 12, 2007 at 12:07:03PM +0300, Domrachev Ivan wrote:
> Может кому пригодится.
>
> Особенность perl_module:
> конструкция вида
> $r->uri=~/(.)$/;
> не работает, а
> my $uri=$r->uri;
> $uri=~/(.)$/;
> работает.
>
> вероятно из за того, что в конце нет нулевого символа.
> в документации сказанно про файлы, но к регулярным выражениям это
> похоже тоже имеет отношение.
>
> полный пример:
> ---
> my $r=shift;
>
> if($r->uri=~/(.)/){$r->header_out("test1","$1");}
> if($r->uri=~/(.)$/){$r->header_out("test2","$1");}
>
> my $uri=$r->uri;
>
> if($uri=~/(.)/){$r->header_out("test3","$1");}
> if($uri=~/(.)$/){$r->header_out("test4","$1");}
> ---
>
> выдаёт:
> ---
> test1: /
> test3: /
> test4: l
> ---
Возможно из-за этого, но вообще странно, что перлу для регулярного выражения
важен ноль в конце. Насколько я понимаю, перл должен прекрасно работать
со строками с нулями в середине.
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list