X-Git-Url: http://git.rot13.org/?p=Biblio-Isis;a=blobdiff_plain;f=lib%2FBiblio%2FIsis.pm;h=405c47f9e34e181f07e848b6a861f702703e768c;hp=e4de0f64a8f94e47a4aa0b8533cdaea94e90081a;hb=86563804a4162533ea711d3a9a4c053dc8574baf;hpb=603e3256265e78a8d270fa47dd66b3a12f3deaa1 diff --git a/lib/Biblio/Isis.pm b/lib/Biblio/Isis.pm index e4de0f6..405c47f 100644 --- a/lib/Biblio/Isis.pm +++ b/lib/Biblio/Isis.pm @@ -7,7 +7,7 @@ use File::Glob qw(:globally :nocase); BEGIN { use Exporter (); use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); - $VERSION = 0.21; + $VERSION = 0.22; @ISA = qw (Exporter); #Give a hoot don't pollute, do not export more than needed by default @EXPORT = qw (); @@ -84,7 +84,7 @@ Open ISIS database read_fdt => 1, include_deleted => 1, hash_filter => sub { - my $v = shift; + my ($v,$field_number) = @_; $v =~ s#foo#bar#g; }, debug => 1, @@ -114,7 +114,9 @@ Don't skip logically deleted records in ISIS. =item hash_filter -Filter code ref which will be used before data is converted to hash. +Filter code ref which will be used before data is converted to hash. It will +receive two arguments, whole line from current field (in C<< $_[0] >>) and +field number (in C<< $_[1] >>). =item debug @@ -544,7 +546,7 @@ have original record subfield order and index to that subfield like this: =item join_subfields_with Define delimiter which will be used to join repeatable subfields. You can -specify option here instead in L if you want to have per-record controll. +specify option here instead in L if you want to have per-record control. =back @@ -567,8 +569,8 @@ sub to_hash { my $row = $self->fetch($mfn) || return; - my $j_rs = $arg->{join_repeatable_subfields}; - $j_rs = $self->{join_repeatable_subfields} unless(defined($j_rs)); + my $j_rs = $arg->{join_subfields_with}; + $j_rs = $self->{join_subfields_with} unless(defined($j_rs)); my $i_sf = $arg->{include_subfields}; foreach my $f_nr (keys %{$row}) { @@ -576,7 +578,7 @@ sub to_hash { # filter output if ($self->{'hash_filter'}) { - $l = $self->{'hash_filter'}->($l); + $l = $self->{'hash_filter'}->($l, $f_nr); next unless defined($l); } @@ -751,6 +753,10 @@ older versions if you really have to): =over 8 +=item 0.22 + +Added field number when calling C + =item 0.21 Added C to L and L. @@ -785,6 +791,8 @@ LICENSE file included with this module. =head1 SEE ALSO +L for CDS/ISIS manual appendix F, G and H which describe file format + OpenIsis web site L perl4lib site L