Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнение функции в regexp 
:(
    Опции темы
shtuceron
Дата 10.10.2011, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



Злравстуйте!

Скажите, возможно ли запихнуть как нибудь функцию в обработчик вырадения:

Код

s%(<tag>)([a-z]+)(</tag>)%$1SOME_FUNC($2)$3%ig;


на выходе у меня только имя функции как строка.

Это сообщение отредактировал(а) shtuceron - 10.10.2011, 22:16
PM MAIL WWW   Вверх
alezzz
Дата 10.10.2011, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



Модификатор e добавте к выражению (perlretut -> Search and replace ), выглядит примерно так:
Код

$a = '<tag>a</tag>';
$a =~ s!(<tag>)([a-z]+)(</tag>)!$1.&func($2).$3!ieg;

sub func($){
    my $inp = shift;
    return $inp.'b';
}

print $a;

Вывод:
Код

<tag>ab</tag>

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0395 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.