Forum Webscript.Ru

Программирование => Perl => Тема начата: Evgeny от 10 Мая 2002, 15:49:26

Название: s-выражение и символ \'(\'
Отправлено: Evgeny от 10 Мая 2002, 15:49:26
Привет всем!
Есть переменная $str, значение которой вводит пользователь.
Затем я организовываю просмотр строк файла:

while()
{  if (/^$str;/) # если строка начинается с $str, а потом \';\'
    { ...
    }
}


И вот если $str содержит \'(\' (а также \'[\', \'{\' и другие), то скрипрт выдаёт ошибку. Как добиться того, чтобы Перл интерполировал значение переменной просто как набор символов, не принимая во внимание то, что это за символы.
Спасибо.
Название: s-выражение и символ \'(\'
Отправлено: glebushka от 10 Мая 2002, 16:02:14
Ну не знаю, я бы своими кривыми руками сделал тупо и просто - проверял на спец символы, и если да, ставил перед каждым из них /, для отмены их действия. Вот.
Название: s-выражение и символ \'(\'
Отправлено: NeoNox от 10 Мая 2002, 18:54:38
Цитировать
проверял на спец символы, и если да, ставил перед каждым из них /

ну это, допустим, просто...
$str=~ s/(\\(|\\[|\\{)/\\/$1/g;
только что он дальше с "/(" в тексте будет делать?

to Evgeny а они тебе (в смысле эти спец символы) оч. нужны? Может их проще выкинуть?
Название: s-выражение и символ \'(\'
Отправлено: от 10 Мая 2002, 19:33:22
while( )
{  if (/^\\Q$str\\E;/) # если строка начинается с $str, а потом \';\'
    { ...
    }
}