![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Perlfan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 20.11.2014 Репутация: нет Всего: нет |
Два одинаковых кода, но первый работает как ожидается, а второй нет. В книге "Программирование на Perl" 3-е издание на 859 странице написано, что можно использовать конструкцию /$variable/o, но в данном случае (пример 2) она не работает. Необходимо добавлять "\". Есть ли какой-то способ заставить конструкцию split /$variable/ работать без этого? Пробовал разные ограничители шаблона, но всё равно с "|" фокус не проходит. Как быть, если неизвестно, что за разделитель использует клиент? Может быть ещё какие-то знаки, кроме "|" тоже будут глючить? Заранее спасибо за советы! Это сообщение отредактировал(а) Perlfan - 20.11.2014, 12:32 |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
первый аргумент у spit -- регулярное выражение
perldoc -f split perldoc perlre # perl -le '$a = "|"; print join "\n", split /\Q$a\E/o, "abc|def|ghi|jkl|mno"' abc def ghi jkl mno |
|||
|
||||
Perlfan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 20.11.2014 Репутация: нет Всего: нет |
arto, спасибо! Что-то я упустил из вида \Q.
|
|||
|
||||
noize |
|
|||
![]() 5.18.2 ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 10.7.2010 Где: СПб Репутация: 3 Всего: 3 |
можно ещё воспользоваться оператором qr для подготовки шаблона регулярки.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |