А у меня перл не тредовый и более того, после того как на 0.3.61 откатил, все работает.<br><br>-----<br>Антонов Андрей<br><br><div><span class="gmail_quote">24.11.06, <b class="gmail_sendername">Igor Sysoev</b> &lt;<a href="mailto:is@rambler-co.ru">
is@rambler-co.ru</a>&gt; написал(а):</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On Fri, 24 Nov 2006, Veryazov Sergey wrote:<br><br>
&gt; Беру код из примера:<br>&gt; <a href="http://www.sysoev.ru/nginx/docs/http/ngx_http_perl_module.html">http://www.sysoev.ru/nginx/docs/http/ngx_http_perl_module.html</a><br>&gt;<br>&gt; Выдает ошибку:<br>&gt;<br>&gt; 2006/11/24 12:01:40 [error] 30314#0: *3 call_sv(&quot;
<br>&gt;<br>&gt;&nbsp;&nbsp; sub {<br>&gt;&nbsp;&nbsp; my $r = shift;<br>&gt;&nbsp;&nbsp; my $ua = $r-&gt;header_in(&quot;User-Agent&quot;);<br>&gt;<br>&gt;&nbsp;&nbsp; return &quot;&quot; if $ua =~ /Opera/;<br>&gt;&nbsp;&nbsp; return &quot;1&quot; if $ua =~ / MSIE [6-9]\.\d+/;
<br>&gt;&nbsp;&nbsp; return &quot;&quot;;<br>&gt;&nbsp;&nbsp; }<br>&gt;<br>&gt;&nbsp;&nbsp; &quot;) failed: &quot;Can't call method &quot;header_in&quot; on an undefined value at (eval<br>&gt; 2) line 3.&quot;<br>&gt;<br>&gt; Оказывается, что параметр запроса не передается в функцию:
<br>&gt; perl_set&nbsp;&nbsp;$test 'sub { my $r = shift; return &quot;($r)&quot; }';<br>&gt; в итоге $test = '()';<br>&gt;<br>&gt; В чем проблема?<br>&gt;<br>&gt; nginx version: nginx/0.4.13<br>&gt; built by gcc 4.1.1 20060525 (Red Hat 
4.1.1-1)<br>&gt;<br>&gt; $perl -v<br>&gt; This is perl, v5.8.8 built for x86_64-linux-thread-multi<br><br>По-видимому, начиная с 0.3.38, nginx не работал с трэдовым перлом.<br>Патч прилагается.<br><br><br>Игорь Сысоев<br>
<a href="http://sysoev.ru">http://sysoev.ru</a><br><br></blockquote></div><br>