/[webpac2]/trunk/lib/WebPAC/Normalize.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/WebPAC/Normalize.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 661 by dpavlin, Fri Sep 8 17:47:58 2006 UTC revision 668 by dpavlin, Mon Sep 11 14:28:56 2006 UTC
# Line 36  WebPAC::Normalize - describe normalisato Line 36  WebPAC::Normalize - describe normalisato
36    
37  =head1 VERSION  =head1 VERSION
38    
39  Version 0.18  Version 0.19
40    
41  =cut  =cut
42    
43  our $VERSION = '0.18';  our $VERSION = '0.19';
44    
45  =head1 SYNOPSIS  =head1 SYNOPSIS
46    
# Line 732  sub _pack_subfields_hash { Line 732  sub _pack_subfields_hash {
732    
733          my ($h,$include_subfields) = @_;          my ($h,$include_subfields) = @_;
734    
   
735          if ( defined($h->{subfields}) ) {          if ( defined($h->{subfields}) ) {
736                  my $sfs = delete $h->{subfields} || die "no subfields?";                  my $sfs = delete $h->{subfields} || die "no subfields?";
737                  my @out;                  my @out;
# Line 742  sub _pack_subfields_hash { Line 741  sub _pack_subfields_hash {
741                          my $o = shift @$sfs;                          my $o = shift @$sfs;
742                          if ($o == 0 && ref( $h->{$sf} ) ne 'ARRAY' ) {                          if ($o == 0 && ref( $h->{$sf} ) ne 'ARRAY' ) {
743                                  # single element subfields are not arrays                                  # single element subfields are not arrays
744    warn "====> $sf $o / $#$sfs ", dump( $sfs, $h->{$sf} ), "\n";
745    
746                                  push @out, $h->{$sf};                                  push @out, $h->{$sf};
747                          } else {                          } else {
748  #warn "====> $f $sf $o $#$sfs ", dump( $sfs ), "\n";  warn "====> $sf $o / $#$sfs ", dump( $sfs, $h->{$sf} ), "\n";
749                                  push @out, $h->{$sf}->[$o];                                  push @out, $h->{$sf}->[$o];
750                          }                          }
751                  }                  }
752                  return @out;                  if ($include_subfields) {
753                            return join('', @out);
754                    } else {
755                            return @out;
756                    }
757          } else {          } else {
758                  # FIXME this should probably be in alphabetical order instead of hash order                  if ($include_subfields) {
759                  values %{$h};                          my $out = '';
760                            foreach my $sf (sort keys %$h) {
761                                    if (ref($h->{$sf}) eq 'ARRAY') {
762                                            $out .= '^' . $sf . join('^' . $sf, @{ $h->{$sf} });
763                                    } else {
764                                            $out .= '^' . $sf . $h->{$sf};
765                                    }
766                            }
767                            return $out;
768                    } else {
769                            # FIXME this should probably be in alphabetical order instead of hash order
770                            values %{$h};
771                    }
772          }          }
773  }  }
774    

Legend:
Removed from v.661  
changed lines
  Added in v.668

  ViewVC Help
Powered by ViewVC 1.1.26