|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Rodion Mejuyev 2:5030/928 09 Dec 2002 23:53:16 To : All Subject : ActivePerl win32 and newline symbols -------------------------------------------------------------------------------- Hапример вот так: === while ($filename=<*.txt>) { open (INFILE, $filename); open (OUTFILE, ">tmp.tpp"); while ($str=<INFILE>) { #построчно считываем chomp ($str); #отрезаем 0x0D 0x0A print (OUTFILE $str."\x0a"); #впечатываем в новый файл ту же строчку, #на конце которой стоит только 0x0A } close (OUTFILE); close (INFILE); } #здесь сотрем старый файл и переименуем временный в старый === Hо вот строка print работает некорректно с моей точки зрения. Вместо 0x0A она опять впечатывает 0x0D 0x0A. Почему? У как сделать то, что я хочу? PS Ради интереса попробовал вместо chomp поставить chop. По идее, она должна отрезать только последний символ. Для досовых текстов это 0x0A, но она также как и chomp у меня отрезает оба символа (0x0D и 0x0A). Странно все это... PPS: ActivePerl 5.8 PPS Запускать скрипт под Linux не пробовал, хотя подразумеваю, что там все это заработает. --- WinNT 4.0 sp5. Uptime: 3:38:00 * Origin: Hет никакой floшки... (2:5030/928) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/126193df4f69f.html, оценка из 5, голосов 10
|