Имя пользователя:
Пароль:
 

Название темы: вопрос по Perl
Показать сообщение отдельно

Ветеран


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

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


mar

Я понял свою ошибку!!!!Я забыл, что к тому файлу, в который мы записываем тоже надо binmode. Хотя к считываемому файлу я binmode применил. ;-)

Итого получилось следующее:


$msg ="File for reading: ";print $msg;
chomp ($read=<STDIN>);
$msg ="File for writing: ";print $msg;
chomp ($write=<STDIN>);

open (READ, "$read") || die "Can't open READ: $!\n";
open (WRITE, ">$write") || die "Can't open WRITE: $!\n";

binmode(READ);
binmode(WRITE);

$sz_file=(-s "$read");
$sz_read=0;

while (<READ>){
$sz_read+=length($_);
$procent_read=($sz_read/$sz_file)*100;
printf ("%.2f%\r", $procent_read);

$_=~s/\x43\x3a\x5c/\x52\x3a\x5c/g;
$_=~s/\x63\x3a\x5c/\x52\x3a\x5c/g;
$_=~s/\x43\x00\x3a\x00\x5c/\x52\x00\x3a\x00\x5c/g;

print WRITE $_;
}

close (READ);
close (WRITE);

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

Название темы: вопрос по Perl