nataraj: (Default)
[personal profile] nataraj

Perl таки в натуре 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;
}

Date: 2007-01-07 12:52 am (UTC)
From: [identity profile] alexkuklin.livejournal.com
ну ты и наворотил.
как оно вообще работало??

это идентификатор, начинающийся с _*^%&, возможно, заключенный в фигурные скобки, с опциональным суффиксом #число
причем первое "или" работает совсем не так, как ты хотел, если я ничего не путаю.
вообще, код надо нормальными парсерами обрабатывать, а не регулярными выражениями. ты вообще теорию формальных грамматик изучал? что такое yacc/bison и их производные - знаешь? :) (то, что при разработке коммунивера о том не вспоминали - я в курсе :))) )

Date: 2007-01-07 08:08 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Алекс, я ничего не творил. Так и былО.
И бтв, отчаявшись прочитать что оно парсит, я всунул туда тестовую печать, и убедился, что то что мне надо оно парсить умеет...

ты вообще теорию формальных грамматик изучал?
Нам кажется что-то давали, когда я учился, но по данному материалу что либо изучить было трудно..

что такое yacc/bison и их производные - знаешь?
Кажется я в какой-то момент пытался это щупать, но меня что-то отвлекло.

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 2nd, 2025 11:23 am
Powered by Dreamwidth Studios
OSZAR »