Как записать в юникодный файл символ новой строки "\n"? У меня что-то никак не получается. Код Код (Text): open F, '>:encoding(UTF-16LE)', "test.txt"; print F "\n"; close F; пишет в test.txt Код (Text): 0x0D, 0x0A, 0x00 . :-( ---- ActveState Perl v5.8.7
Smile т.е. сделать $\="\n" ? не работает, выводится то же самое. Пробовал ещё вот так: print "\x0D\x0A"; Получаю 0D 00 0D 0A 00 Т.е. вместо \x0A всегда выводит 0D 0A :-\
Т.е. вместо \x0A всегда выводит 0D 0A есть такое дело, можно менять $\ на любой символ и будет нормально работать, но если поставить \xA то функция при записи заменит на перевод строки в текущей системы, тоесть \xDxA для windows можно перевести файл в бинарный режим и всякий мусор добавляться не будет open (F, ]test.txt"); binmode (F); print "BLA\n" # => BLA\x0A $\ = "\xA"; print "BLA" # => BLA\xA #Perl 5.03 Win32 Build 315
Smile Спасибо. Придется видимо юникодный текст писать во временной файл, а потом перегонять в бинарном режиме, корректируя переводы строки.