особенность 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