Actually, the Python code is all home-grown.  Its main virtue is speed,
since we regularly pass 50+ million records through it.  It avoids
user-defined classes for just about everything but the main record class.
I've generalized it a bit lately to handle OAI-harvested DC records, etc.


-----Original Message-----
From: Ed Summers [mailto:[log in to unmask]]
Sent: Tuesday, May 25, 2004 2:26 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] Linfeed Trick

On Tue, May 25, 2004 at 02:08:17PM -0400, Hickey,Thom wrote:
> Maybe others are doing this (or is everyone using XML?), but it's new to
> here.  Maybe this would even work with MARC-XML if you restricted
> to the end of record.

This is how MARC is read by MARC::File::USMARC in the MARC::Record CPAN
module :)

> On my workstation, grep can plow through 50 million Unicode MARC-21
> in less than 15 minutes.  The best time our C software can do is more than
> half an hour and our Python code could take several hours.

Cool! I've been working off and on on a Python port for MARC::Record,
and wasnt' able to find an equivalent to $/ in Python. But I'm a Python
newbie, so perhaps I overlooked something?