There is, how surprising ;-), something readymade on CPAN ( MyConText) that does exactly what the above posts suggest:
MyConText is a pure man's solution for indexing contents of documents. It uses the MySQL database to store the information about words and documents and provides Perl interface for indexing new documents, making changes and searching for matches. For MyConText, a document is nearly anything -- Perl scalar, file, Web document, database field.
It's so simple as:
use MyConText;
use DBI;
# connect to database (regular DBI)
my $dbh = DBI->connect('dbi:mysql:database', 'user', 'passwd');
# create a new index
my $ctx = MyConText->create($dbh, 'indexname', 'frontend' => 'file', '
+backend' => 'phrase');
# or open existing one
# my $ctx = MyConText->open($dbh, 'indexname');
# index documents
$ctx->index_document('/path/to/file');
# search for matches, finds documents that contain "anybody", "somebod
+y", "nobody", etc.
my @documents = $ctx->contains('%body');
Alternatives:
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|