--- trunk/lib/WebPAC/Input.pm 2007/10/30 01:46:41 909 +++ trunk/lib/WebPAC/Input.pm 2007/10/30 01:51:20 910 @@ -532,17 +532,16 @@ if (defined($s->{sf}->{$f})) { my @subfields = keys %{ $s->{sf}->{$f} }; -warn "$f has subfields ",dump( @subfields ); map { $o .= sprintf(" %s:%d%s", $_, $s->{sf}->{$f}->{$_}->{count}, $s->{sf}->{$f}->{$_}->{repeatable} ? '*' : '', ); } ( - # first indicators - sort( grep( /^i[12]$/, @subfields ) ), - # then subfileds - sort( grep( !/^i[12]$/, @subfields ) ), + # first indicators and other special subfields + sort( grep { length($_) > 1 } @subfields ), + # then subfileds (single char) + sort( grep { length($_) == 1 } @subfields ), ); }