Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Alan Long                            2:5030/1082.72 04 Feb 2003  02:38:56
 To : All
 Subject : CGI.pm problem
 -------------------------------------------------------------------------------- 
 
 Hello All!
 
 Столкнулся с очередной проблемой в CGI.pm:
 - --
 % perl -MCGI -e '$q=CGI->new; print
 $q->a({-href=>"/script.cgi?a&b"},"link"),"\n"'
 <a href="/script.cgi?a&b">link</a>
 - --
 То есть текст в href эскейпится, что в принципе правильно, кроме пожалуй что со 
 случаем & => & так как броузер приходит с запросом:
 GET /script.cgi?a&b HTTP/1.x
 Скрипты написанные на perl с использованием CGI.pm работают, так как CGI.pm
 может использовать в качестве разделителя аргументов как '&' так и ';', но вот с
 чем-то отличным от CGI.pm начинают возникать проблемы, так как вместо параметра 
 'b' они получают 'amp;b' ;-(
 
 После изучения кода CGI.pm, получилось что все дело в функции:
 _make_tag_func
 Где используется:
   = make_attributes(shift()||undef,1);
 Hу а make_attributes в свою очередь:
 sub make_attributes {
     my $attr = shift;
     return () unless $attr && ref($attr) && ref($attr) eq 'HASH';
     my $escape = shift || 0;
 ...
 }
 
 То есть преобразование жестко зашито в код и никакими методами на него
 воздействовать нельзя ;-( А очень-бы хотелось-бы.
 
 Хотелось-бы услышать совет о том как написать автору модуля CGI.pm что-бы он
 внес соответствующие изменения в CGI.pm. То есть я сделаю патч этого всего
 хозяйства, отошлю его, сеществует-ли вероятность того, что этот патч включат в
 дальнейшие версии CGI.pm ?
 
 -- 
 With best,
      Ъ-·    Ъ
      Е-ЧLaі\і <alan@x-rays.eu.org>
 
 --- timEd/386 1.10+
  * Origin: X - Rays Station (2:5030/1082.72)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 CGI.pm problem   Alan Long   04 Feb 2003 02:38:56 
 Re: CGI.pm problem   Konstantin Tokar   04 Feb 2003 11:33:04 
 CGI.pm problem   Alan Long   05 Feb 2003 01:39:38 
 CGI.pm problem   Denis Knyazev   05 Feb 2003 21:33:53 
 CGI.pm problem   Alan Long   06 Feb 2003 21:03:24 
Архивное /ru.cgi.perl/4581e3ef26f0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional