Здравствуйте.

Мне нужно на Perl сделать что-то вроде cat, то есть читать бинарные
данные и записывать куда-нибудь. Данных может быть очень много,
поэтому записать их все в память, а потом записать на диск не получится.
Делаю следующее:

syswrite OUT, $str  while (sysread SRC, $str, 1_000_000);

если OUT сделать псевдонимом STDOUT и шеллом перенаправить этот STDOUT
в файл, то это работает раз в шесть-семь (!) быстрее, чем когда я явно
открываю OUT через open(). Почему? Я неправильно выбрал размер LENGTH
в sysread? Вообще, как наиболее эффективно организовать прямую передачу
данных в Perl?

Спасибо.

-- 
Best regards,
Timur Elzhov


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить