Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » вопрос по Perl

Ответить
Настройки темы
вопрос по Perl

Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Почему Perl заменяет символ \x0a на \x0d\x0a ?

Например, в таком случае

open (READ, "<wuaucpl.cpl");
open (WRITE, ">write.cpl");
while(<READ>){
print WRITE $_;}
close READ;
close WRITE;


Размер нового файла увеличился на несколько байт, хотя этого ни в коем случае не должно происходить. Как этого избежать?

Отправлено: 12:17, 25-11-2004

 

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Вопросы по Perl'у быстрее решаются у нас Вебмастерами.

Отправлено: 12:21, 25-11-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mrcnn
наверно \x0a == \n
тогжа это прописано в настройках
и это правильно иначе неправильно будет отобразаться текст!

Отправлено: 12:35, 25-11-2004 | #3


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


\n в виндозе == \x0d\x0a
В Unixe действительно \n==\x0a

Как все-таки сделать так, чтобы размеры файлов wuaucpl.cpl и write.cpl и их содержимое полностью совпадали??

Отправлено: 12:59, 25-11-2004 | #4


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mrcnn
линукс прекрастно поримает и \x0d\x0a в качестве перевод астроки!

а почему тебе просто не скопировать файл?

Отправлено: 15:33, 25-11-2004 | #5


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Vlad Dracula:
Я привел упрощенный пример.
На самом деле задача несколько другая, которая простым копированием не решается.
Нужно открыть бинарный файл и заменить строку другой строкой; при этом размер файла не должен меняться. (У меня стоит Windows.)
Заменять вручную очень-очень долго, потому что строка может встречаться несколько тысяч раз

Последний раз редактировалось mrcnn, 25-11-2004 в 15:57.


Отправлено: 15:49, 25-11-2004 | #6


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mrcnn
а как ты определяешь какую строчку тебе надо заменить?

Отправлено: 15:52, 25-11-2004 | #7


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Строки которые нужно заменить и на что заменить заранее известны, причем строки бинарные.

Отправлено: 16:00, 25-11-2004 | #8


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Например: \x43\x00\x3a\x00\x5c

Отправлено: 16:03, 25-11-2004 | #9

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Цитата:
Нужно открыть бинарный файл
а Вы с ним обращаетесь, как с текстовым , и в результате Perl резвится с концами строк согласно купленным билетам (то есть операционке). На Самом деле, может быть и зря этот топик сюда перенесли - помнится на те же грабли я наступала когда-то давно, переписывая файлы под C++ Builder

Отправлено: 16:33, 25-11-2004 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » вопрос по Perl

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FreeBSD 5.3 Perl не видит локали, а KDE при сборке не видит perl :o mar Общий по FreeBSD 8 06-05-2005 13:13
Perl Patrick Программирование и базы данных 3 02-06-2004 23:27
Ламерский вопрос по Perl Patrick Программирование и базы данных 1 30-03-2004 03:18
Perl Guest Программирование и базы данных 2 08-03-2004 23:00
Вопрос по Perl Guest Программирование и базы данных 4 04-12-2002 15:32




 
Переход