# this might be our local scpeciality -- fields 10 and 11
# (as opposed to 010 and 011) so they are strictly listed
# here
- } elsif ($f =~ s/^(1[01])//) {
+ } elsif ($f =~ s/^(1[01]\w?)//) {
push @fmt,$1;
push @fmt,undef;
} elsif ($f =~ s/^mfn//i) {
push @fmt,'mfn';
push @fmt,'';
} elsif ($f =~ s/^([^\d]+)(\d{0,3})/$2/) {
- push @fmt,$1;
+ # still prefix?
+ if ($#fmt == 0) {
+ $fmt[0] .= $1;
+ } else {
+ push @fmt,$1;
+ }
} elsif ($f =~ s/^([^\d]+\d{0,2})//) {
- push @fmt,$1;
+ if ($#fmt == 0) {
+ $fmt[0] .= $1;
+ } else {
+ push @fmt,$1;
+ }
} elsif ($f =~ s/^(\d{1,2})//) {
- push @fmt,$1;
+ if ($#fmt == 0) {
+ $fmt[0] .= $1;
+ } else {
+ push @fmt,$1;
+ }
} else {
print STDERR "unparsed format: $f\n";
$f = "";
$display = $prefix.$display.$sufix if ($display);
print STDERR "format left unused: [",join("|",@fmt),"]\n" if (@fmt);
-# print STDERR "display: $display swish: $swish\n";
+ print STDERR "format: [",join("|",@{$tmp}),"]\n" if (@fmt);
+
+# print STDERR "format: {",$format || '',"} display: {",$display || '',"} swish: {",$swish || '',"}\n";
return ($swish,$display);
}