И ещё один вопрос по перлу (s///)
Модератор: Модераторы разделов
И ещё один вопрос по перлу
Как подставить значение переменной в левую часть s/// ? То есть вот сюда: s/$a/$b/ee Никак вспомнить не могу.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: И ещё один вопрос по перлу
Урра, заработала! Пасиба. Склероз, однако.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: И ещё один вопрос по перлу
Эта... так просто и подставляешь, как и написал: s/$a/$b/
Должно работать.
Должно работать.
ArchLinux / IceWM
Re: И ещё один вопрос по перлу
Да не. Так не работает, так бакс -- начало строки, а а -- буква. А вот так, как AndyX написал, работает.(madskull @ Wednesday, 21 July 2004, 11:07) писал(а):Эта... так просто и подставляешь, как и написал: s/$a/$b/
Должно работать.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: И ещё один вопрос по перлу
Бакс - конец строки и только тогда, когда он последний в регекспе. За исключением одновременного использования флагов mg
Хотя, раз работает - пусть работает.
Где-то видел такое (пишу по памяти):
Q: Как идеологически правильно сделать на Perl то-то и то-то?
A: Идеологически правильно всё, что работает.
ArchLinux / IceWM
Re: И ещё один вопрос по перлу
Блин, опять всё перепутал. только что, главное, пользовался...(madskull @ Wednesday, 21 July 2004, 12:02) писал(а):Бакс - конец строки
А если не последний? У меня не работало. И по-моему при m без g по логике тоже должно так же быть.(madskull @ Wednesday, 21 July 2004, 12:02) писал(а):и только тогда, когда он последний в регекспе. За исключением одновременного использования флагов mg
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: И ещё один вопрос по перлу
(t.t @ Wednesday, 21 July 2004, 13:18) писал(а):Блин, опять всё перепутал. только что, главное, пользовался...(madskull @ Wednesday, 21 July 2004, 12:02) писал(а):Бакс - конец строкиА если не последний? У меня не работало. И по-моему при m без g по логике тоже должно так же быть.(madskull @ Wednesday, 21 July 2004, 12:02) писал(а):и только тогда, когда он последний в регекспе. За исключением одновременного использования флагов mg
Ну, в общем так и есть.
Просто я вроде не пользовался этим особо. Если надо конец строки - проще искать \n, чем мучиться с выписыванием поиска по $.
Например, хочу я узнать, есть ли в тексте последняя буква в строке t, после которой, на новой строке, идет символ {:
Код: Выделить всё
print $text=~/t\n\{/m;
а если пытаться использовать что-то типа (первое, что приходит в голову)
Код: Выделить всё
print $text=~/t$\{/m;
перл будет ругаться. Потому что он видит переменную $\ и открытую скобку {
Кстати, я пока и не знаю, можно ли сделать второй вариант, думать лень.
ArchLinux / IceWM
Re: И ещё один вопрос по перлу
У меня и без m не работало, что самое интересное.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: И ещё один вопрос по перлу
Дык $ и \n - не одно и то же...
\n - перевод строки. таких символов в одной строке может быть несколько.
$ - конец строки. ну то есть абсолютный ее конец, дальше некуда ужо
^ - начало строки
\n - перевод строки. таких символов в одной строке может быть несколько.
$ - конец строки. ну то есть абсолютный ее конец, дальше некуда ужо
^ - начало строки
I am in shape. Round is a shape.
Re: И ещё один вопрос по перлу
Вот как раз в том-то и дело, что m. Я уже Мите писал, что этот ключик делает.(AndyX @ Wednesday, 21 July 2004, 16:00) писал(а):Дык $ и \n - не одно и то же...
\n - перевод строки. таких символов в одной строке может быть несколько.
$ - конец строки. ну то есть абсолютный ее конец, дальше некуда ужо
^ - начало строки
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: И ещё один вопрос по перлу
Прошу прадону, не в этой теме писал; вот тут: http://www.linuxforum.ru/index.php?showtopic=1039
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж