ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Re: использование perl_set



А у меня перл не тредовый и более того, после того как на 0.3.61 откатил, все работает.

-----
Антонов Андрей

24.11.06, Igor Sysoev < is@xxxxxxxxxxxxx> написал(а):
On Fri, 24 Nov 2006, Veryazov Sergey wrote:

> Беру код из примера:
> http://www.sysoev.ru/nginx/docs/http/ngx_http_perl_module.html
>
> Выдает ошибку:
>
> 2006/11/24 12:01:40 [error] 30314#0: *3 call_sv("
>
>   sub {
>   my $r = shift;
>   my $ua = $r->header_in("User-Agent");
>
>   return "" if $ua =~ /Opera/;
>   return "1" if $ua =~ / MSIE [6-9]\.\d+/;
>   return "";
>   }
>
>   ") failed: "Can't call method "header_in" on an undefined value at (eval
> 2) line 3."
>
> Оказывается, что параметр запроса не передается в функцию:
> perl_set  $test 'sub { my $r = shift; return "($r)" }';
> в итоге $test = '()';
>
> В чем проблема?
>
> nginx version: nginx/0.4.13
> built by gcc 4.1.1 20060525 (Red Hat 4.1.1-1)
>
> $perl -v
> This is perl, v5.8.8 built for x86_64-linux-thread-multi

По-видимому, начиная с 0.3.38, nginx не работал с трэдовым перлом.
Патч прилагается.


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.