X-Git-Url: http://git.equinoxoli.org/?p=migration-tools.git;a=blobdiff_plain;f=Equinox-Migration%2Flib%2FEquinox%2FMigration%2FSubfieldMapper.pm;h=5071a855422a51e8fc8fda1df4c1ec64b0997488;hp=34fbde598ba1375fb9b905a9897302e31260f5d6;hb=d3602aa16d89d83960e38f7d8678f9428f1eace4;hpb=4852006b76dc6783492269c2c0ad9da0b9eaee34 diff --git a/Equinox-Migration/lib/Equinox/Migration/SubfieldMapper.pm b/Equinox-Migration/lib/Equinox/Migration/SubfieldMapper.pm index 34fbde5..5071a85 100644 --- a/Equinox-Migration/lib/Equinox/Migration/SubfieldMapper.pm +++ b/Equinox-Migration/lib/Equinox/Migration/SubfieldMapper.pm @@ -232,11 +232,18 @@ sub add { my ($self, $map) = @_; # trim the mods and filters - my $mods = []; my $filt = []; - for my $m (@{$map->{mods}}) - { $m =~ s/^m://; push @{$mods}, $m } - for my $f (@{$map->{filt}}) - { $f =~ s/^f://; push @{$filt}, $f } + my $mods = []; my %mods = (); + my $filt = []; my %filt = (); + for my $m (@{$map->{mods}}) { + die "Modifier collision '$m' at line $." if $mods{$m}; + $m =~ s/^m://; + push @{$mods}, $m; $mods{$m} = 1; + } + for my $f (@{$map->{filt}}) { + die "Modifier collision '$f' at line $." if $filt{$f}; + $f =~ s/^f://; + push @{$filt}, $f; $filt{$f} = 1; + } $map->{mods} = $mods; $map->{filt} = $filt;