Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
JustDelight
Зарегистрирован: 06.04.2008 Сообщения: 8
|
Добавлено: Вс Апр 06 2008 21:06 Заголовок сообщения: Perl - замена по регэкспу inline |
|
|
Подскажите пожалуйста как сделать замену в строке при помощи инлайн скрипта.
то есть код вида Код: | $var = 'qqqq';
$var =~ s/q/w/g;
print $var."\n";
|
оформить так, что бы его можно было запускать через |
|
Вернуться к началу |
|
|
Admin Site Admin
Зарегистрирован: 31.10.2003 Сообщения: 235
|
Добавлено: Пн Апр 07 2008 00:16 Заголовок сообщения: |
|
|
А, собственно, что именно мешает вам засунуть в -e прямо такой код (в одинарных кавычках и с заменой ' на '\'')? |
|
Вернуться к началу |
|
|
JustDelight
Зарегистрирован: 06.04.2008 Сообщения: 8
|
Добавлено: Пн Апр 07 2008 10:33 Заголовок сообщения: |
|
|
Admin писал(а): | А, собственно, что именно мешает вам засунуть в -e прямо такой код (в одинарных кавычках и с заменой ' на '\'')? |
ну так в этом-то и все дело:
Код: | D:\>perl -e '$var = \'qqqq\';$var =~ s/q/w/g;print $var."\n";'
Can't find string terminator "'" anywhere before EOF at -e line 1. |
|
|
Вернуться к началу |
|
|
Admin Site Admin
Зарегистрирован: 31.10.2003 Сообщения: 235
|
Добавлено: Пн Апр 07 2008 13:59 Заголовок сообщения: |
|
|
А, так у вас cmd вместо шелла. Тогда не знаю.
Разве что скажу, что конкретно в этом коде, как и во многих других, можно обойтись двойными кавычками вместо одинарных. |
|
Вернуться к началу |
|
|
JustDelight
Зарегистрирован: 06.04.2008 Сообщения: 8
|
Добавлено: Пн Апр 07 2008 14:09 Заголовок сообщения: |
|
|
Admin писал(а): | А, так у вас cmd вместо шелла. Тогда не знаю. |
Это на работе решил проверить не отходя от кассы. Но вчера в шелле тоже не прокатило, и сообщение вроде такое же было.
Admin писал(а): | Разве что скажу, что конкретно в этом коде, как и во многих других, можно обойтись двойными кавычками вместо одинарных. |
Этот вариант тоже был проверен. |
|
Вернуться к началу |
|
|
Admin Site Admin
Зарегистрирован: 31.10.2003 Сообщения: 235
|
Добавлено: Пн Апр 07 2008 23:15 Заголовок сообщения: |
|
|
А, если шелл обычный, то в нём достаточно просто писать не \', как у вас, а именно '\'' (закрывающая кавычка, эскейпленная кавычка, открывающая кавычка). |
|
Вернуться к началу |
|
|
|