84 47 00 0c 00 00 11 0a 03 50 35 04 00 64 0a 04
16 12 00 1e 00 1d 00 00 65 09 08 54 52 03 2f 82
05 10 00 02 6e 06 0b a8 53 11 67 00 00 00 7a 7f
00 69 4a 42 47 48 4a 41 0c 00 6a 53 54 4d 44 54
4f 1c 00 66 04 00 00
####
RECORD TAG : 84
RECORD LENGTH : 71
RECORD : 000c0000110a
RECORD TAG : 03
RECORD LENGTH : 80
RECORD : 350400640a
RECORD TAG : 04
RECORD LENGTH : 22
RECORD : 12001e001d00006509085452032f82051000026e060b
RECORD TAG : 04
RECORD LENGTH : 22
RECORD : 120021001b00006509084480900f82051000046e0608
RECORD TAG : 03
RECORD LENGTH : 39
####
#!/usr/bin/perl -w
use Cwd;
use warnings;
use strict;
use Getopt::Long;
use constant FILEHDR => 4;
use constant CDRLEN => 286;
my ($trace, $help, $infile);
my $swap = '';
my $indir = getcwd;
my $outdir = getcwd;
GetOptions (
"h|help" => \$help,
"filename|f=s" => \$infile,
"swap|s" => \$swap,
"input|i=s" => \$indir,
"output|o=s" => \$outdir,
"trace|t" => \$trace
) or usage();
sub usage {
exit;
}
my $outfile = $infile;
my $data;
if ($infile) {
#open (OUTPUT, ">$outdir/$outfile");
open (DATA, "$indir/$infile");
binmode DATA;
while ($data = ) {
my $tag = unpack "H2", substr $data,0,1,'';
my $length = unpack "C", substr $data,0,1,'';
if ($length == 0x81) {
$length = unpack "C", substr $data,0,1,'';
}
my $template = 'H' . $length*2;
my $rec = unpack $template, substr $data,0,$length,'';
printf ("RECORD TAG : %s\n", $tag);
printf ("RECORD LENGTH : %s\n", $length);
printf ("RECORD : %s\n", $rec);
}
close(DATA);
#close(OUTPUT);
}