![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| russians |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 6.11.2006 Репутация: нет Всего: нет |
Вот как то медленно до меня доходит логика поиска, особенно последние строчки. "\e[7m;1\e[m;2\e[7m;4\e[m".igx; - что это такое? Фридл пишет, что это цветовое выделение, но почему именно такой странный способ? и почему \e[7m;1, а не \e[7m;$1? s/^([^\e]*\n)+//mg; s/^/$ARGV; /mg; - что это такое? всё, что выше - в принципе ясно. заранее благодарен p.s. модераторы, если не трудно - перенесите тему в раздел Perl, пожалуйста Это сообщение отредактировал(а) russians - 20.7.2010, 18:09 |
|||
|
||||
| spin2 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 15.12.2005 Где: Москва-Одесса Репутация: нет Всего: 31 |
Это escape-последовательности. Зачем такой странный способ - может просто, чтобы поразить воображение читателя. А иногда escape-последовательности действительно полезны.
Это из раздела про регулярные выражения. s/// - делает замену того, что подходит под шаблон, заданный между первыми слешами, в то, что прописано между вторыми слешами, при этом руководствуясь тем, что написано после слешей. ^ - начало строки, \e - ESCAPE, \n - перевод строки, * - 0 и больше раз, + - один и больше раз. -------------------- |
||||
|
|||||
| russians |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 6.11.2006 Репутация: нет Всего: нет |
spin2, я имел в виду последнюю строчку:
s/^/$ARGV; /mg; был вопрос, откуда мы берём $ARGV Сейчас уже нашёл Мне понятно, что это escape-последовательности, просто непривычна запись, "\e[7m; 1 \e[m; 2 \e[7m; 4 \e[m" 1 2 4 здесь каким образом переменные? Здесь они просто числа... имеется в виду, что мы выделяем $1 и $4, а $2 что посередине делает? и откуда по коду мы берём 4? у нас 3 скобки Это сообщение отредактировал(а) russians - 20.7.2010, 23:23 |
|||
|
||||
| russians |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 6.11.2006 Репутация: нет Всего: нет |
Так что, кто нибудь сможет объяснить причуды языка?
|
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
# perl -Mstrict -Wc =( cat )
#!/bin/perl $/ = ".\n"; # Особый режим чтения: фрагменты завершаются комбинацией символов "точка-новая строка" ^D Bareword "igx" not allowed while "strict subs" in use at /tmp/zshq8WVoB line 6. /tmp/zshq8WVoB had compilation errors. # вы уверены, что точно привели код примера? |
|||
|
||||
| russians |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 6.11.2006 Репутация: нет Всего: нет |
Да, уверен.
first.pl - оригинал. second.pl - то, что я привёл в начале. P.S. Да, господа разработчики форума, а можете добавить в листинг подсветки цвета для diff? Это сообщение отредактировал(а) russians - 24.7.2010, 14:11 |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
дело в том, что ваш скрипт не работает, выдает ошибку.
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |