|
Модераторы: ginnie |
|
evya |
|
|||
Опытный Профиль Группа: Участник Сообщений: 257 Регистрация: 7.3.2009 Репутация: нет Всего: нет |
подскажите господа!
есть регулярное выражение с двумя сохраняющими группами, можно ли получить их в условии??? если значений множество. if (@code,@body)=$msg3=~m/^(.*?)^\s(.*?)/g) или обязательно в цикл ставить, если в цикле то как можно проверить условие выполнения регулярки |
|||
|
||||
DurRandir |
|
|||
Опытный Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 2 Всего: 17 |
Не очень понятно, в чём вопрос (и код только запутывает). Вот три рабочих варианта:
|
|||
|
||||
evya |
|
|||
Опытный Профиль Группа: Участник Сообщений: 257 Регистрация: 7.3.2009 Репутация: нет Всего: нет |
а если поиск глобален?
my (@b, @r) = $foo =~ /(.).(.)/g; if ($b && $r){ } |
|||
|
||||
DurRandir |
|
||||
Опытный Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 2 Всего: 17 |
Если в списочном присваивании встречается массив, то он забирает в себя все значения до конца, и все переменные правее него будут пустыми. Это особенность перла, которую надо иметь в виду. Поэтому один вызов m//g вернёт всё в один массив. Если надо разбивать сразу на 2 части - нужен цикл, но можно разбить и после, в духе:
|
||||
|
|||||
evya |
|
|||
Опытный Профиль Группа: Участник Сообщений: 257 Регистрация: 7.3.2009 Репутация: нет Всего: нет |
Все примерно понятно!
а в push можно расшифровать цикл немного по операциям @{++$i % 2 ? \@first : \@second}, $_ for @foo; |
|||
|
||||
DurRandir |
|
|||
Опытный Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 2 Всего: 17 |
Значит, не понятно) Лучше тогда так:
|
|||
|
||||
krypt3r |
|
|||
Опытный Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: нет Всего: 16 |
Весна! |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |