open (OUTPUT, ">$fname.tmp"); open (DATA, "$fname"); #### open OUTPUT, '>', "$fname.tmp" or die "Cannot open '$fname.tmp' $!"; open INPUT, '<', $fname or die "Cannot open '$fname' $!"; #### $offset = 0; while (read(DATA, $data, BLOCKLEN, $offset)) { my $blockhdr = unpack "H*", substr($data, 0, BLOCKHDR); my $blockdt = unpack "H*", substr($data, BLOCKHDR, BLOCKDATA); my $cdrdata = unpack "H*", substr($data, BLOCKHDR+BLOCKDATA, CDRLENGTH); ... $offset += BLOCKLEN; ... $offset += BLOCKLEN; $offset -= 286; #### my $total_record = hextoint(reverse_str(substr($blockdt,4)));