Автор Тема: Одинарные кавычки и обратный слэш  (Прочитано 3653 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sd1074

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 40
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
В Перле пока новичок, но уже кое-что делал. Насколько я знаю (и пока везде, где я читал написано именно так) строка в одинарный кавычках выводится как есть без интерполяции. Но жизнь показала вот что. Код:

$str=\'\\\\\\\\\';
open (OUT,">output.txt") or die;
print OUT $str;

В выходном файле вижу: "\\\\" (два обратных слэша).

Если извратиться так:

open (IN,"$str=;
open (OUT,">output.txt") or die;
print OUT $str;

При этом во входном файле записана строка: "\\\\\\\\" (4 обратных слэша). То на выходе имеем тоже 4 обратныхъ слэша.
Выходит содержимое одинарных кавычек интерпретируются не как есть.
Как так?!

Оффлайн sd1074

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 40
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Одинарные кавычки и обратный слэш
« Ответ #1 : 27 Апреля 2007, 14:19:08 »
Чуть-чуть потумкал... Сделал количество слэшей нечётным. Стала выдаваться ошибка, судя по которой, можно понять, что Перл интерпретирует как строку не только то что находится в этих одинарных кавычках, но и далее до следующей одинарной кавычки в тексте программы, при этом в строку включается всё, т.ч. и комментарии. Я уже чувствую в чём дело, но всё же хотелось бы получить точное разъяснение происходящим явлениям :)
И ещё хотелось бы как-то иметь возможность написав в каких-нибудь кавычках 4 слэша, получить на выходе 4 слэша, я не два.

Оффлайн ctax

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Одинарные кавычки и обратный слэш
« Ответ #2 : 28 Апреля 2007, 10:55:44 »
Дело в том, что здесь предусмотрена возможность в строку заключенную в одинарные кавычки
 вставлять одинарные кавычки, для экранирования используется обр. слэш и следовательно это print \'\\\';#error не обратный слеш, а (кавычка - экранированная кавычка);

Оффлайн sd1074

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 40
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Одинарные кавычки и обратный слэш
« Ответ #3 : 28 Апреля 2007, 11:11:43 »
аа, ну да, конечно, блин :) Как я сам не догадался... Просто врезелась в голову фраза, что в одинарных кавычках всё интерпретируется как есть.
Спасибо.
« Последнее редактирование: 28 Апреля 2007, 11:29:58 от sd1074 »

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28