Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: regexp после regexp в perl
On Mon, Dec 10, 2007 at 11:11:23AM +0300, Domrachev Ivan wrote:
> Здравствуйте, Igor.
>
> >> если cделать внутри perl_module один regexp, потом использовать
> > Прилагаемый патч должен помочь.
>
> Спасибо!
> Во первых прошу простить. недоглядел.
> писал, что
> > теряются переменные
> это не так. переменные не потерялись. просто они:
> 1 не отображаются в вгете
> 2 не отображаются в дебаге (!)
> причина такая:
> 0x0040: 204f 4b0d 0a53 6572 7665 723a 206e 6769 .OK..Server:.ngi
> 0x0050: 6e78 2f30 2e36 2e31 370d 0a44 6174 653a nx/0.6.17..Date:
> 0x0060: 204d 6f6e 2c20 3130 2044 6563 2032 3030 .Mon,.10.Dec.200
> 0x0070: 3720 3037 3a32 383a 3036 2047 4d54 0d0a 7.07:28:06.GMT..
> 0x0080: 436f 6e74 656e 742d 5479 7065 3a20 7465 Content-Type:.te
> 0x0090: 7874 2f68 746d 6c0d 0a43 6f6e 7465 6e74 xt/html..Content
> 0x00a0: 2d4c 656e 6774 683a 2032 0d0a 4c61 7374 -Length:.2..Last
> 0x00b0: 2d4d 6f64 6966 6965 643a 2054 6875 2c20 -Modified:.Thu,.
> 0x00c0: 3239 204e 6f76 2032 3030 3720 3037 3a31 29.Nov.2007.07:1
> 0x00d0: 323a 3137 2047 4d54 0d0a 436f 6e6e 6563 2:17.GMT..Connec
> 0x00e0: 7469 6f6e 3a20 6b65 6570 2d61 6c69 7665 tion:.keep-alive
> 0x00f0: 0d0a 7465 7374 5f73 313a 202f 3100 0d0a ..test_s1:./1...
> ^^
> 0x0100: 7465 7374 5f73 323a 2032 3300 0d0a 7465 test_s2:.23...te
> ^^
> 0x0110: 7374 5f73 333a 202f 310d 0a74 6573 745f st_s3:./1..test_
> 0x0120: 7334 3a20 3233 0d0a 7465 7374 5f72 6573 s4:.23..test_res
> 0x0130: 756c 743a 2031 0d0a 4163 6365 7074 2d52 ult:.1..Accept-R
> 0x0140: 616e 6765 733a 2062 7974 6573 0d0a 0d0a anges:.bytes....
> 0x0150: 3829 8)
>
> т.е. в переменных получался нулевой байт и весь последующий вывод в
> дебаге отсекался:
> 2007/12/10 07:36:24 [debug] 54285#0: *175 HTTP/1.1 200 OK
> Server: nginx/0.6.17
> Date: Mon, 10 Dec 2007 07:36:24 GMT
> Content-Type: text/html
> Content-Length: 2
> Last-Modified: Thu, 29 Nov 2007 07:12:17 GMT
> Connection: keep-alive
> test_s1: /1
>
> 2007/12/10 07:36:24 [debug] 54285#0: *175 write new buf t:1 f:0 0826C61C, pos
> 0826C61C, size: 284 file: 0, size: 0
>
> как понимаю после первого регекспа сохранилась длинна переменных (но
> не значение), а после второго содержимое $1 и $2 затёрлось.
>
> во вторых патч не помог: ни чего не изменилось. в дебаге:
> # cat error.log |grep perl
> 2007/12/10 07:42:40 [debug] 61821#0: *2 perl variable handler
> 2007/12/10 07:42:40 [debug] 61821#0: *2 perl variable done
Скорее всего, новый nginx.so не установился. В отладочном логе должны
быть строки "perl sv2str: ...".
--
Игорь Сысоев
http://sysoev.ru
|