1 #-------------------------------------------------------------
3 # parse_format('format',$isis_row);
11 my $i = shift || 0; # isis repeatable number
17 if ($format =~ s/^([^\d]+)//) {
25 #print STDERR "\n#### $format";
26 if ($format =~ s/^(\d\d\d)(\w?)//) {
27 my $isis_tmp = isis_sf($row,$1,$2,$i);
29 $display .= $prefix . $isis_tmp;
30 $swish .= $isis_tmp." ";
31 #print STDERR " == $isis_tmp";
34 # this might be our local scpeciality -- fields 10 and 11
35 # (as opposed to 010 and 011) so they are strictly listed
37 } elsif ($format =~ s/^(1[01])//) {
38 my $isis_tmp = isis_sf($row,$1,undef,$i);
40 $display .= $prefix . $isis_tmp;
41 $swish .= $isis_tmp." ";
44 } elsif ($format =~ s/^mfn//i) {
45 $display .= $prefix . $row->{mfn};
47 } elsif ($format =~ s/^([^\d]+)(\d{0,3})/$2/) {
48 $prefix .= $1 if ($display);
49 } elsif ($format =~ s/^([^\d]+\d{0,2})//) {
50 $prefix .= $1 if ($display);
51 } elsif ($format =~ s/^(\d{1,2})//) {
52 $prefix .= $1 if ($display);
54 print STDERR "unparsed format: $format\n";
60 $display .= $prefix if ($display);
62 return ($swish,$display);
65 #-------------------------------------------------------------