sub process_field {
my ($field) = @_;
my $tag = $field->{'att'}->{'tag'};
- return unless ($tag and $tag > 9);
+ return unless ($tag and ($tag =~ /[^0-9]/ or $tag > 9));
# increment raw tag count
$dstore->{tcnt}++;
# handle unmapped tag/subs
my $samp = $dstore->{samp};
# set a value, total-seen count and records-seen-in count
- $samp->{$tag}{$code}{value} = $sub->text unless $samp->{$tag}{$code};
+ $samp->{$tag}{$code}{value} = $sub->text unless ($samp->{$tag}{$code}{value} and
+ $samp->{$tag}{$code}{value} =~ /\w/);
$samp->{$tag}{$code}{count}++;
$samp->{$tag}{$code}{tcnt}++ unless ( defined $samp->{$tag}{$code}{last} and
$samp->{$tag}{$code}{last} == $dstore->{tcnt} );