my %hex = map { $_ => 1 } qw( AB CD B1 ); my @records = ( pack("A2Ca7", "RT", 7, "testing"), pack("A2CH16", "CD", 8, "01020304FFDDEC19"), ); foreach my $record (@records) { my ($kw, $rdata) = unpack("A2C/a", $record); $rdata = uc(unpack('H*', $rdata)) if $hex{$kw}; print "$kw $rdata\n"; }