(no subject)
Jan. 7th, 2007 03:28 amPerl таки в натуре write only язык...
Сего регулярного выражения я сейчас понять не могу совсем...
Ниасилил...
sub submit_param {
my $val=shift;
return undef unless defined $val;
my $prefix=shift;
my $cgi=$Communiware::CGI;
$val=~s/%({([_*^\&\%]?[^}]+)}|[_*^\%\&]?[A-Z0-9a-z\._]+(#\d+)?\b)/get_submit_val($2||$1,$cgi,$prefix)/eg;
return $val;
}
no subject
Date: 2007-01-07 12:38 am (UTC)no subject
Date: 2007-01-07 12:50 am (UTC)no subject
Date: 2007-01-07 12:53 am (UTC)no subject
Date: 2007-01-07 08:04 am (UTC)no subject
Date: 2007-01-07 12:58 am (UTC)no subject
Date: 2007-01-07 12:52 am (UTC)как оно вообще работало??
это идентификатор, начинающийся с _*^%&, возможно, заключенный в фигурные скобки, с опциональным суффиксом #число
причем первое "или" работает совсем не так, как ты хотел, если я ничего не путаю.
вообще, код надо нормальными парсерами обрабатывать, а не регулярными выражениями. ты вообще теорию формальных грамматик изучал? что такое yacc/bison и их производные - знаешь? :) (то, что при разработке коммунивера о том не вспоминали - я в курсе :))) )
no subject
Date: 2007-01-07 08:08 am (UTC)И бтв, отчаявшись прочитать что оно парсит, я всунул туда тестовую печать, и убедился, что то что мне надо оно парсить умеет...
ты вообще теорию формальных грамматик изучал?
Нам кажется что-то давали, когда я учился, но по данному материалу что либо изучить было трудно..
что такое yacc/bison и их производные - знаешь?
Кажется я в какой-то момент пытался это щупать, но меня что-то отвлекло.
no subject
Date: 2007-01-07 01:02 am (UTC)no subject
Date: 2007-01-07 09:43 am (UTC)