- push @{$self->{record}->{$FieldTAG[$i]}}, substr($buff,$FieldPOS[$i],$FieldLEN[$i]);
+ my $v = substr($buff,$FieldPOS[$i],$FieldLEN[$i]);
+
+ if ( $self->{ignore_empty_subfields} ) {
+ $v =~ s/(\^\w)+(\^\w)/$2/g;
+ $v =~ s/\^\w$//; # last on line?
+ next if ($v eq '');
+ }
+
+ push @{$self->{record}->{$FieldTAG[$i]}}, $v;