NAME
WWW::MSA::Hadith
SYNOPSIS
use WWW::MSA::Hadith;
my $h = new WWW::MSA::Hadith();
$h->query('(paradise or heaven) and laugh and man and last');
$h->submit();
while ( my $result = $h->get_result() ) {
print $h->read( $result->{id} );
print "-" x 32;
print "\n";
}
DESCRIPTION
WWW::MSA::Hadith is Perl interface to MSA-USC's Classic Hadith Search
engine located at
http://www.usc.edu/dept/MSA/reference/searchhadith.html
As of this release, only Sahih Bukhari database is supported. Will try to add other databases in subsequent releases.
PROGRAMMING STYLE
Searching Hadith database is very straight-forward, and consists of the following steps:
1 Create WWW::MSA::Hadith object:
my $h = new WWW::MSA::Hadith();
2 Define the search query:
$h->query("warn and peace");
3 Submit the search to remote server:
$h->submit();
4 Iterate through the results:
while (my $result = $h->get_result() ) {
# do something....
}
get_result() method, as seen above, results the next result fetched from the database. To iterate over all the results, you should use it in a while() loop or alternative.
Return value of get_result() is a reference to a hash-table. Hash consists of such keys as id - unique id for the returned Hadith, url
As you noticed, returned result does not include the full content. To fetch the full content for a specific hadith, you need to call read() method and pass it id field of the result:
$full_text = $h->read($result->{id});
To view the demo of this library, send an e-mail to hadith@handalak.com and submit the search keyword in the subject of the mail. You will receive the results in the reply.
TODO
I've been thinking of creating better programming interface through XML-RPC API.
SEE ALSO
http://www.usc.edu/dept/MSA/reference/searchhadith.html
AUTHOR
Sherzod B. Ruzmetov, <sherzodr@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2003 by Sherzod B. Ruzmetov.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.