URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 1731
[ Назад ]

Исходное сообщение
"Чтение бинарника функцией read()"

Отправлено ix_adm , 30-Май-03 17:09 
Помогите, кто может! При чтении файла ф-цией read() некоторые файлы до конца не считываются. Этот код:

open(DATA, "/tmp/10err.arj") or die "$!";
$filesize = -s DATA;
print $filesize."\n";
while($r=read(DATA, $buf, $filesize)){
      #print encode_base64($buf);
      print $r;
}
выдает следующее:
56484
1525

установка $/=undef; ничего не дает.

Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Чтение бинарника функцией read()"
Отправлено qq , 31-Май-03 00:40 

$filesize = -s "/tmp/10err.arj";


"Чтение бинарника функцией read()"
Отправлено uldus , 31-Май-03 16:55 
>Помогите, кто может! При чтении файла ф-цией read() некоторые файлы до конца
>не считываются.

perldoc -f binmode

>open(DATA, "/tmp/10err.arj") or die "$!";
binbode(DATA);

....

>while($r=read(DATA, $buf, $filesize)){
my $buf;
while(my $r = read(DATA, $buf, 1024)){
читай блоками, а все разом.


"Чтение бинарника функцией read()"
Отправлено ix_adm , 02-Июн-03 09:23 
>>Помогите, кто может! При чтении файла ф-цией read() некоторые файлы до конца
>>не считываются.
>
>perldoc -f binmode
>
>>open(DATA, "/tmp/10err.arj") or die "$!";
>binbode(DATA);
>
>....
>
>>while($r=read(DATA, $buf, $filesize)){
>my $buf;
>while(my $r = read(DATA, $buf, 1024)){
>читай блоками, а все разом

Спасибо.