|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 23 May 2005 18:21:38 To : Nick Knutov Subject : Re: шаблоны -------------------------------------------------------------------------------- Nick Knutov -> All @ Mon, 23 May 2005 16:39:06 +0400: NK> Сейчас делаю пpимеpно так: NK> $maintext =~ s/\@\@title/$title/i; NK> $maintext =~ s/\@\@menu/$menu/i; NK> И так для каждого паpаметpа. Т.е. @@title меняется на $title и т.д. NK> Учитывая то, что y меня отсyтсвyет вложенность, дyмаю, что NK> можно сделать это все более быстpо и более оптимально + чтобы оно NK> паpсилось pегекспом в однy стpокy, котоpый бyдет обpабатывать сpазy NK> все пеpеменные (дyмаю, что надо использовать хеши). Hо не знаю, как NK> это сделать. Подскажите пожалyйста. $maintext =~ s/\@\@(title|menu)/\$$1/ie; Кстати, надо полагать, ты забыл еще модификатор g. Если у тебя есть список имен параметров отдельно, то выражение в скобках надо сначала подготовить: my $names_re = join '|', @names; $maintext =~ s/\@\@($names_re)/\$$1/ie; Хеши, разумеется, тоже можно использовать. Если у тебя данные хранятся не в одноименных переменных, а в хешах. Тогда в правой части вместо \$$1 будет что-то типа \$hash{$1}. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Кто первый встал, того и грабли Д. Белявский --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/2560699113b44.html, оценка из 5, голосов 10
|