0.3 Mon Aug 23 19:39:00 1999 0.4 Sun Sep 5 13:49:00 1999 0.5 Sun Sep 5 19:45:00 1999 0.6 Mon Sep 6 18:17:00 1999 - consolidate into single file ------------------------------------------------------------- Revision history for Perl extension MARC. 0.01 Tue Sep 7 10:48:10 1999 - original version; created by h2xs 1.18 - linux command: h2xs -A -X -n MARC 0.61 Tue Sep 7 12:56:23 CDT 1999 - convert version 0.6 into CPAN format (lots of little changes) 0.62 Fri Sep 10 05:18:00 1999 - revised datastructure to hash of tags plus non-tag elements like 'array' which serve as structured views into data 0.63 Sun Sep 12 20:38:00 1999 - permit incremental processing to reduce memory footprint 0.65 Fri Sep 17 08:07:42 1999 - add openmarc,nextmarc,closemarc,deletemarc 0.7 Sun Sep 21 07:15:00 1999 - major upgrade: revise new for incremental reads and tag maps - add selectmarc,searchmarc, createrecord, _joinfield, addfield - add error processing and use Carp - add header/body/footer outputs - revise documentation 0.71 Wed Sep 22 15:50:31 1999 - compute @tags once in _marc2html, fix $outputall detection - add Win32 test and install - t/test1.t uses new output file spec, tests append & $var 0.72 Fri Sep 24 07:42:00 1999 - add getvalue - add doc example: xml_header, xml_body, xml_footer - add doc example: createrecord, addfield 0.80 Sun Oct 3 17:14:00 1999 - add isbd and unimarc 0.81 Mon Oct 4 22:25:17 CDT 1999 - update CPAN doc files: Changes, README, Makefile.PL - add isbd to t/test1.t 0.82 Wed Oct 6 13:30:22 CDT 1999 - Win32 Makefile.PL improvements including automatic html install - Added single quotes to hash keys in MARC.pm and t/test1.t to eliminate nuisance warnings from Perl 5.004. 0.83 Mon Oct 11 22:22:00 EST 1999 - Updated MARC.pm line 108 to store scalar references instead of scalars. This will hopefully cut down on duplication of data in the MARC object. - Also, updated the getvalue(), searchmarc() and addfield() methods to reflect the change in the way subfield data is stored. - Added line 220 to return '0 but true' instead of 0 when no records were read in. This will allow for statements like $x->openmarc("test.mrc") || die; 0.84 Tue Oct 12 22:07:18 CDT 1999 - more Win32 Makefile.PL tweaks after TPJ technical review - add binmode for marc file read/write - unspecified 'increment' defaults to 0 - fix repeated subfield in field bug in addfield 0.85 Wed Oct 13 21:19:00 EST 1999 - modified addfield to push scalar references instead of scalars when adding subfield data to the $x->[record]{field}{subfield} data member on line 859. - updated closemarc to return 1, to allow constructs like $x->closemarc() || die; 0.9 Sun Oct 17 19:48:00 EST 1999 - modified deletemarc() to support deleting specified fields and subfields - modified addfield() to support adding fields in tag order 0.91 Tue Oct 19 18:01:43 CDT 1999 - add demo addlocal.pl, microlif.001, and directory eg - closemarc() returns results of close() - filter '\r' and '\cZ' from binary input stream - fix "delete all records" bug 0.911 Wed Oct 20 21:49:02 CDT 1999 - add "exists" tests to getvalue() - use scalar $callno in addlocal.pl 0.92 Sat Oct 23 00:00:00 CDT 1999 - initialize loop counter in getvalue() to avoid warnings - add methods for manipulating "000" and "008" fields: unpack_ldr, bib_format, unpack_008 - add internal subroutines supporting those methods: _unpack_ldr, _bib_format, _unpack_008, - add internal update subroutines: _pack_ldr, _pack_008 0.93 Wed Oct 27 21:30:17 CDT 1999 - deprecate length(), use marc_count() instead - new: bless earlier so _readxxx can use methods - add error checks to file open/close, use binmode - add lineterm for _readmarcmaker and default to DOS - always store header in $record->{'000'} tag position - fix bugs in 'i12' subfield structure - add usmarc_default, ustext_default, MARCMaker charset encode/decode - use createrecord, addfield in _readmarcmaker - fix fieldnotvalue in searchmarc - extensive changes to getvalue to cover '000' tag and indicators - use getvalue in unpack_008 - return undef instead of die in _unpack_008 - allow lineterm option in output, 'format' defaults to 'marc', lineterm to '\n' except MARCMaker (CRLF) - add nolinebreak option for MARCBreaker output - 'html_header' outputs "Content-type...", 'html_start' does "" - _writemarc also updates '000' size data in structure - warnings off in addfield - update copyright - add test2.t and test3.t plus supporting files: makrbrkr.mrc, brkrtest.ref, makrtest.src - add filestring and out_cmp test utilities, MARCopt.pm stub - add MARCMaker/Breaker, getvalue, and searchmarc tests 0.94 Thu Oct 28 20:23:57 CDT 1999 - added numerous "exists" tests for hash queries - add 'title' parameter to html_start - extra error checking: addfield - new getupdate() method - add tests for searchmarc, deletemarc, addfield, getupdate, html_xxx formats - fix test3.t to use MARCopt everywhere 0.95 Tue Nov 02 20:49:09 CST 1999 - clean up the Win32 "make clean" implementation in Makefile.PL - add tests for selectmarc - add 'title' option for URLs output - terminate addfield if $subfield_id eq "\036" from getupdate() - pod updates: SYNOPSIS, Option Template, various typos - add updaterecord() - template extensions for deletemarc(), searchmarc(), getvalue() - add eg/fixlocal.pl demo and eq/specials.001 0.95d Wed Nov 03 17:00:01 EST 1999 - Removed FF_ prefix from @LDR_FIELDS. Left package globals for fixed fields and leaders as globals: this should facilitate anybody who wants to subclass for MFHL, community, records. - Added pack_008 and pack_ldr. Added get_hash_008 and get_hash_ldr for future tied interface. Fixed bugs. (FF_ prefixes in hash keys.) - Added and updated docs for the new functions. - Added comment on how to renumber tests. - Added tests of pack_008 and pack_ldr. Fixed some test bugs with FF_ prefixes and non-existent functions. 0.96 Wed Nov 3 23:04:31 CST 1999 - fix typos in pod2man and pod2html output - fix test3.t like test1.t 0.97 Fri Nov 5 17:44:15 CST 1999 - replace '%$' construct (4 places) which designates pseudo-hash in 5.005 and fails in 5.004. Detected by CPAN-Testers - Add tests for deletemarc() subfield to t/test2.t 0.98 Fri Nov 12 21:13:39 CST 1999 - fix addfield reorder bug (new tag > existing) - improved eg/addlocal.pl and added eg/uclocal.pl - moved binmode from _readmarc* to openmarc() and new() to get around unwanted seek on binmode in Win32 5.00402. 0.99 Sun Nov 14 21:59:00 EST 1999 - created MARC::XML subclass to handle MARC<->XML conversions - moved _marc2xml() from MARC.pm into MARC::XML 0.991 Sun Nov 21 18:49:00 EST 1999 - removed MARC::XML specific pod from MARC.pm and added to MARC::XML 1.00 Mon Nov 22 22:22:32 CST 1999 - add warnings for unsupported output formats - return undef for output failure, test in place of XML 1.01 Sun Dec 05 23:14:15 CST 1999 - add invalid size checks to _readmarc() - add header check to _readmarcmaker() - delete length() method and CORE::length() overrides - add $TEST; replace carp with mycarp