added $isis->mfn, some documentation about version compatibility and few FIXME markers
[Biblio-Isis] / lib / Biblio / Isis.pm
index 76f20ba..b11e856 100644 (file)
@@ -117,7 +117,7 @@ Filter code ref which will be used before data is converted to hash.
 
 =item debug
 
-Dump a B<lot> of debugging output.
+Dump a B<lot> of debugging output even at level 1. For even more increase level.
 
 =back
 
@@ -385,6 +385,24 @@ sub fetch {
        return $self->{'record'};
 }
 
+=head2 mfn
+
+Returns current MFN position
+
+  my $mfn = $isis->mfn;
+
+=cut
+
+# This function should be simple return $self->{current_mfn},
+# but if new is called with _hack_mfn it becomes setter.
+# It's useful in tests when setting $isis->{record} directly
+
+sub mfn {
+       my $self = shift;
+       return $self->{current_mfn};
+};
+
+
 =head2 to_ascii
 
 Returns ASCII output of record with specified MFN
@@ -504,8 +522,13 @@ sub to_hash {
                                foreach my $t (split(/\^/,$l)) {
                                        next if (! $t);
                                        my ($sf,$v) = (substr($t,0,1), substr($t,1));
-                                       warn "### $k^$sf:$v",$/ if ($self->{debug} > 1);
+                                       # FIXME make this option !
+                                       next unless ($v);
+#                                      warn "### $k^$sf:$v",$/ if ($self->{debug} > 1);
+
+                                       # FIXME array return optional, by default unroll to ' ; '
                                        if (ref( $val->{$sf} ) eq 'ARRAY') {
+
                                                push @{ $val->{$sf} }, $v;
                                        } elsif (defined( $val->{$sf} )) {
                                                # convert scalar field to array
@@ -631,6 +654,18 @@ module with databases from programs other than WinIsis and IsisMarc. I had
 tested this against ouput of one C<isis.dll>-based application, but I don't
 know any details about it's version.
 
+=head1 VERSIONS
+
+You can find version dependencies documented here
+
+=over 8 
+
+=item 0.20
+
+Added C<< $isis->mfn >> and support for repeatable subfields
+
+=back
+
 =head1 AUTHOR
 
        Dobrica Pavlinusic