added regexpes to new as option
[Biblio-Isis] / lib / Biblio / Isis.pm
index 6f29e20..a7c73ed 100644 (file)
@@ -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.22_1;
+       $VERSION     = 0.22_2;
        @ISA         = qw (Exporter);
        #Give a hoot don't pollute, do not export more than needed by default
        @EXPORT      = qw ();
@@ -89,6 +89,9 @@ Open ISIS database
        },
        debug => 1,
        join_subfields_with => ' ; ',
+       regexps => [
+               's/something/else/g',
+       ],
  );
 
 Options are described below:
@@ -126,6 +129,12 @@ Define delimiter which will be used to join repeatable subfields. This
 option is included to support lagacy application written against version
 older than 0.21 of this module. By default, it disabled. See L</to_hash>.
 
+=item regexpes
+
+Define (any number) of regexpes to apply at field values before they are
+splitted into subfield. This is great place to split subfields in input to
+mulitple subfields if needed or rename subfields.
+
 =back
 
 =cut
@@ -549,6 +558,10 @@ have original record subfield order and index to that subfield like this:
 Define delimiter which will be used to join repeatable subfields. You can
 specify option here instead in L</new> if you want to have per-record control.
 
+=item regexpes
+
+Override C<regexpes> specified in L</new>.
+
 =back
 
 =cut
@@ -565,6 +578,8 @@ sub to_hash {
                $mfn = $arg->{mfn} || confess "need mfn in arguments";
        }
 
+       $arg->{regexpes} ||= $self->{regexpes};
+
        confess "regexps must be HASH" if ($arg->{regexps} && ref($arg->{regexps}) ne 'HASH');
 
        # init record to include MFN as field 000