37 |
=head1 DESCRIPTION |
=head1 DESCRIPTION |
38 |
|
|
39 |
This module will read ISIS databases created by DOS CDS/ISIS, WinIsis or |
This module will read ISIS databases created by DOS CDS/ISIS, WinIsis or |
40 |
IsisMarc. It can be used as perl-only alternative to OpenIsis module. |
IsisMarc. It can be used as perl-only alternative to OpenIsis module which |
41 |
|
seems to depriciate it's old C<XS> bindings for perl. |
42 |
|
|
43 |
It can create hash values from data in ISIS database (using C<to_hash>), |
It can create hash values from data in ISIS database (using C<to_hash>), |
44 |
ASCII dump (using C<to_ascii>) or just hash with field names and packed |
ASCII dump (using C<to_ascii>) or just hash with field names and packed |
51 |
It also has support for identifiers (only if ISIS database is created by |
It also has support for identifiers (only if ISIS database is created by |
52 |
IsisMarc), see C<to_hash>. |
IsisMarc), see C<to_hash>. |
53 |
|
|
54 |
This will module will always be slower than OpenIsis module which use C |
This module will always be slower than OpenIsis module which use C |
55 |
library. However, since it's written in perl, it's platform independent (so |
library. However, since it's written in perl, it's platform independent (so |
56 |
you don't need C compiler), and can be easily modified. I hope that it |
you don't need C compiler), and can be easily modified. I hope that it |
57 |
creates data structures which are easier to use than ones created by |
creates data structures which are easier to use than ones created by |
215 |
|
|
216 |
=head2 read_cnt |
=head2 read_cnt |
217 |
|
|
218 |
This function is not really used by module, but can be useful to find info |
Read content of C<.CNT> file and return hash containing it. |
|
about your index (if debugging it for example). |
|
219 |
|
|
220 |
print Dumper($isis->read_cnt); |
print Dumper($isis->read_cnt); |
221 |
|
|
222 |
|
This function is not used by module (C<.CNT> files are not required for this |
223 |
|
module to work), but it can be useful to examine your index (while debugging |
224 |
|
for example). |
225 |
|
|
226 |
=cut |
=cut |
227 |
|
|
228 |
sub read_cnt { |
sub read_cnt { |
424 |
|
|
425 |
=head2 to_ascii |
=head2 to_ascii |
426 |
|
|
427 |
Dump ASCII output of record with specified MFN |
Returns ASCII output of record with specified MFN |
428 |
|
|
429 |
print $isis->to_ascii(42); |
print $isis->to_ascii(42); |
430 |
|
|
431 |
It outputs something like this: |
This outputs something like this: |
432 |
|
|
433 |
210 ^aNew York^cNew York University press^dcop. 1988 |
210 ^aNew York^cNew York University press^dcop. 1988 |
434 |
990 2140 |
990 2140 |
465 |
|
|
466 |
my $hash = $isis->to_hash($mfn); |
my $hash = $isis->to_hash($mfn); |
467 |
|
|
468 |
It has ability to convert characters (using C<hash_filter> from ISIS |
It has ability to convert characters (using C<hash_filter>) from ISIS |
469 |
database before creating structures enabling character re-mapping or quick |
database before creating structures enabling character re-mapping or quick |
470 |
fix-up of data. |
fix-up of data. |
471 |
|
|
561 |
|
|
562 |
=head1 BUGS |
=head1 BUGS |
563 |
|
|
564 |
This module has been very lightly tested. Use with caution and report bugs. |
Some parts of CDS/ISIS documentation are not detailed enough to exmplain |
565 |
|
some variations in input databases which has been tested with this module. |
566 |
|
When I was in doubt, I assumed that OpenIsis's implementation was right |
567 |
|
(except for obvious bugs). |
568 |
|
|
569 |
|
However, every effort has been made to test this module with as much |
570 |
|
databases (and programs that create them) as possible. |
571 |
|
|
572 |
|
I would be very greatful for success or failure reports about usage of this |
573 |
|
module with databases from programs other than WinIsis and IsisMarc. I had |
574 |
|
tested this against ouput of one C<isis.dll>-based application, but I don't |
575 |
|
know any details about it's version. |
576 |
|
|
577 |
=head1 AUTHOR |
=head1 AUTHOR |
578 |
|
|