Why not adopt me?
NAME
Religion::Bible::Reference - canonicalize shorthand bible references
VERSION
version 0.013
SYNOPSIS
use Religion::Bible::Reference;
my $quote = bibref("jn8:32");
print "($quote)"; # (John 8:32)
print $quote->book; # John
DESCRIPTION
This module converts simple text descriptions of bible references and ranges into objects that stringify into a canonical form.
WARNING! This module is mostly an idea and not so much a guaranteed interface or well-tested implementation. If you're interested in either of those existing, you should let me know.
FUNCTIONS
bibref($ref_string)
This function is exported by default, and constructs a new Religion::Bible::Reference
Reference strings must be a book followed by a list of chapters, verses, or ranges. The following are all valid ranges:
Pro 23:12, 23:15-17
st.jn8:32
Song of Solomon 8:7-8
2 John 1
METHODS
Religion::Bible::Reference->new($ref_string)
This method acts just like the exported bibref
function.
$self->stringify
This method returns a string representing the reference, using the canonical book name.
$self->stringify_short
This method returns a string representing the reference, using the short book name.
In other words, John 8:32 would be Jn 8:32. All short forms should safely round-trip back via parsing.
$class->canonicalize_book($book_abbrev)
If possible, this method returns the canonical name of the book whose abbreviation was passed.
validate_verse
$class->validate_verse($book, $chapter, $verse)
This method returns true if the given book, chapter, and verse exists; otherwise it returns false.
iterator
my $iterator = $bibref->iterator;
while (my $verse = $iterator->next) {
my $text = retrieve($verse);
print "$text\n";
}
AUTHOR
Ricardo Signes, <rjbs@cpan.org>
TODO
allow Text::Abbrev instead of registered abbrevs
clean up regex/lists
make public the interface to load modules of books and abbreviations
make an interface to unload modules
BUGS
Please report any bugs or feature requests through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
COPYRIGHT
Copyright 2005-2006 Ricardo Signes, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.