sub print_trailer { my $data = shift; my @fields = unpack 'A6 A28 A8 A14 A32 A10 A6 A32 A2', $data; print $trlname[ $_ ], ' : ', $fields[ $_ ] for 0 .. $#fields; } ... while (read (DATA, $data, DATALEN) != 0) { if ($data =~ /^T/) { print_trailer($data) if ($raw); } else { display_data($hex); } }