http://qs1969.pair.com?node_id=858466


in reply to Re: How to sort record using pack function ?
in thread How to sort record using pack function ?


This is some of my coding..could you comment ?. I read the record length as $length = unpack "C4", substr $data,0,2,'';. is it correct ?
read (DATA, $data, 3); $tag = unpack "H2", substr $data,0,1,''; if ($tag =~ /(81|80|00)/) { # the Record Identifier H’80 is used as Filler record to fill in o +ne byte if ($tag == "80") { $length = 2; } # the Record Identifier H’81 is used as Filler record to fill in s +everal bytes if ($tag == "81") { $length = unpack "C4", substr $data,0,2,''; $length -= 3; } # the Record Identifier H’00 is used as Filler record to fill in 3 +2 bytes if ($tag == "00") { $length=62; } read (DATA, $data, $length); $raw = unpack "H*", $data; if ($trace) { print ("FILLER\n"); printf ("%-20s : %-5s\n", "TAG", $tag); printf ("%-20s : %-5s\n", "RECORD LENGTH", $length); print ("RAW DATA : \n$raw\n"); } }