NAME

Biblio::ILL::GS - Interlibrary Loan Generic Script (GS)

SYNOPSIS

    use Biblio::ILL::GS;
    my $gs = new Biblio::ILL::GS;

    $gs->set("LSB", "MWPL" );
    $gs->set("LSP", "BVAS" );
    $gs->set("P/U", "Christensen, David" );

    $gs->set( "ADR", 
	"Public Library Services",
	"Interlibrary Loan Department",
	"1525 First Street South",
	"Brandon, MB  R7A 7A1"
    );

    $gs->set("SER", "LOAN" );
    $gs->set("AUT", "Wall, Larry" );
    $gs->set("TIT", "Programming Perl" );
    $gs->set("P/L", "Cambridge, Mass." );
    $gs->set("P/M", "O'Reilly" );
    $gs->set("EDN", "2nd Ed." );
    $gs->set("DAT", "2000" );
    $gs->set("SBN", "0596000278" );
    $gs->set("SRC", "TEST SCRIPT" );
    $gs->set("REM", "This is a comment.", "And another comment." );

    # ouptut our string
    print $gs->as_string();

DESCRIPTION

Biblio::ILL::GS is a little bit of glue....

Our library web site (http://maplin.gov.mb.ca) uses Perl (of course) and Z39.50 to enable our libraries to search for and request items amongst themselves (and, for that matter, to/from the world at large).

The basic procedue is: find the item, parse the resulting record, build a human-readable email out of it, and send it - all automagically.

One of our libraries has moved to an interlibrary-loan management system, and would rather not have to re-key this data as it arrives. Their system, however, does have the ability to process requests in the Interlibrary Loan Generic Script (GS) format.

Biblio::ILL::GS simply lets you build a GS format message.

METHODS

new()

Create the Biblio::ILL::GS object.

my $gs = new Biblio::ILL::GS;

set()

Set a field in the object. Fields can accept multiple values, which you pass in a list context. If you do not pass in a valid field name you will get a fatal error. Valid fields names include: LSB, LSP A#C P/U N/R ADR SER AUT TIT P/L P/M EDN DAT LCN SBN NUM #AD SRC REM

my $gs = new Biblio::ILL::GS;
$gs->set( 'TIT', 'Huckleberry Finn' );
$gs->set( 'REM', 'This is a comment.', 'This is another comment' );

as_string()

Returns the GS message as a string, or undef if the minimum data is not present (LSB, LSP, ADR, SER, AUT, and TIT).

SEE ALSO

For more information on Interlibrary Loan standards (ISO 10160/10161), a good place to start is:

http://www.nlc-bnc.ca/iso/ill/main.htm

TODO

- Make a real TODO list.
- Look into creating Biblio::ILL::protocol, to create ISO10160/10161-compliant request messages.

AUTHOR

David Christensen, <DChristensen@westman.wave.ca>

COPYRIGHT AND LICENSE

Copyright 2003 by David Christensen

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.