Forum Webscript.Ru

Программирование => Perl => Тема начата: Отец Никон от 07 Июля 2004, 21:40:01

Название: Запись в файл
Отправлено: Отец Никон от 07 Июля 2004, 21:40:01
Чем м.б. вызвано то, что на моем компьютере при записи в файл он пишется, как и задумано, в несколько строк, а на хостинге все получается в одну строку?

Пишу так:
print TOPIC "$title\\n";
print TOPIC "00000:00000\\n";

etc.
Название: Запись в файл
Отправлено: glebushka от 07 Июля 2004, 23:26:40
А как ты узнаёшь, что файл пишется в одну строчку? Случаем аскей-режий не забываешь включить, когда закачиваешь созданный текстовой файл?
Название: Запись в файл
Отправлено: Отец Никон от 07 Июля 2004, 23:33:53
Во-первых, я не закачиваю никаких текстовых файлов, я закачиваю сам скрипт, а потом скачиваю созданный им файл и вижу, что он оказался в одну строку. Во-вторых, у меня не работает FTP, т.к. я под прокси, поэтому работаю через файловую панель у провайдера, а она не позволяет установить тестовый или бинарный режим для закачки.
Возможно, это как-то связано с тем, что у меня Win, а на хостинге Unix, но я вроде бы конвертировал скрипт в Unix-формат (т.е. концы строк).
Название: Запись в файл
Отправлено: Mog. от 08 Июля 2004, 12:16:53
А чем смотришь?
notepad не понимает \\n ему надо \\r\\n
то, что ты в файл пишешь "\\n" интерпретируется различными системами по разному
Для win это "\\r\\n" для *nix это "\\n" отсюда и проблемы
Выход - завести "смотрелку"под вин, которая понимает "\\n"
Название: Запись в файл
Отправлено: Отец Никон от 08 Июля 2004, 23:14:52
Решил проблему. Видимо, для Win символ конца строки имеет размер 2, а для Unix -- 1.
Название: Запись в файл
Отправлено: glebushka от 09 Июля 2004, 00:52:09
Цитировать
Mog.:
Для win это "\\r\\n" для *nix это "\\n" отсюда и проблемы

Цитировать
Отец Никон:
Видимо, для Win символ конца строки имеет размер 2, а для Unix -- 1.


Мдя...
Название: Запись в файл
Отправлено: Гость от 09 Июля 2004, 17:05:54
конец строки в виндах \\r\\n
в юникс, линуск \\n
в MacOS \\r