|
SCI-Arc is a small, private college of architecture. We use Perl in
conjunction with Filemaker Pro to generate our online card catalog.
Although there are many specialized databases for library catalogs, they are intended for large libraries with hundreds of thousands or millions of volumes. They also tend to be expensive and require dedicated hardware. Since SCI-Arc has only a few thousand volumes to catalog, Filemaker on a Power Mac is up to the task. Also, being longtime Mac users, we wanted our "card catalog" to be as friendly as most Mac applications, without requiring arcane search commands or a long period of software development. And it had to be searchable from any computer in the building. Fortunately, bibliographic information for every book published in the US is available from the Library of Congress (formerly on disk, lately through their web site.) The data are published in a special format called MARC, which is designed to catalog any conceivable type of media. MARC superseded a simpler system known as Microlif. As only my second Perl program, I tackled the task of extracting the fields students would be interested in from the Microlif records. The best Mac trick was inserting Applescript snippets (the easiest way to generate AppleEvents which control Filemaker) directly in the Perl code, including de-referencing the contents of Perl variables. No intermediate file need be created, avoiding the use of Filemaker's slow import function. The next version, as soon as I get some time, will work with the newer MARC records, and I hope to implement translation of MARC's codes for foreign-language characters (accents, umlauts, circumflexes, German S's etc.) into Mac characters, since they are all supported by the Mac character set. It should be easy enough to build the translation table in Perl. Without the character translation, the current version produces slightly rough data, but the Perl-to-Filemaker route gives it an elegant interface that took only a few days to implement and that even computer-shy students can use.
Ben Wilkes |