Forum Webscript.Ru

Программирование => Perl => Тема начата: Evgeny от 22 Января 2002, 14:08:34

Название: Записать в файл символ 0x0A
Отправлено: Evgeny от 22 Января 2002, 14:08:34
Привет всем.
Подскажите пожалуйста, как можно строку, в которой символ 0x0A содержится, в файл записать. Перл шутит со мной и в файле я вижу 0x0D 0x0A вместо 0x0A.
Большое спасибо.
Название: Записать в файл символ 0x0A
Отправлено: vladsu от 22 Января 2002, 14:25:50
Hi.

Под виндами?
Название: Записать в файл символ 0x0A
Отправлено: Evgeny от 22 Января 2002, 14:57:54
vladsu
Цитировать
Под виндами?


Да, по виндами.
Приведу код:


open(F,">aaa");
binmode(F);            # без этого тоже не работает
print F packData(1,"12345678");
close(F);

sub packData
{  return sprintf("%c%c%s",$_[0],length($_[1])+2,$_[1]);
}


Из дампа видно вместо второго байта 0x0A - два байта 0x0D 0x0A
Название: Записать в файл символ 0x0A
Отправлено: lodevar от 22 Января 2002, 15:13:54
Да вроде все правильно выводит.
первый %c выводит 01, другой %c выводит 0A
Убери первый - будет тебе один 0A

А если ты объяснишь что ты вообще хочешь видеть , может и подскажут тебе что-нибудь.
Название: Записать в файл символ 0x0A
Отправлено: Evgeny от 22 Января 2002, 15:15:22
Спасибо, всё работает. С FAR\'ом просто перемудрил.