Sphinx is a full-text search engine, distributed under GPL version
2. Commercial license is also available for embedded use.
Generally, it's a standalone search engine, meant to provide fast,
size-efficient and relevant fulltext search functions to other
applications. Sphinx was specially designed to integrate well with SQL
databases and scripting languages. Currently built-in data sources
support fetching data either via direct connection to MySQL, or from
an XML pipe.
As for the name, Sphinx is an acronym which is officially decoded as
SQL Phrase Index.
This module takes a list of CSS files and concatenates them, making sure
to honor any valid @import statements included in the files.
Following the CSS 2.1 spec, @import statements must be the first rules in
a CSS file. Media-specific @import statements will be honored by enclosing
the included file in an @media rule. This has the side effect of actually
improving compatibility in Internet Explorer, which ignores media-specific
@import rules but understands @media rules.
It is possible that feature versions will include methods to compact
whitespace and other parts of the CSS itself, but this functionality is
not supported at the current time.
KinoSearch is a loose port of the Java search engine library Apache Lucene,
written in Perl and C. The archetypal application is website search, but it
can be put to many different uses.
KinoSearch1 is a fork of KinoSearch version 0.165 intended to provide stability
and backwards compatibility. For the latest features, see the main branch.
Features
* Extremely fast and scalable - can handle millions of documents
* Full support for 12 Indo-European languages.
* Support for boolean operators AND, OR, and AND NOT; parenthetical
groupings, and prepended +plus and -minus
* Algorithmic selection of relevant excerpts and highlighting of search terms
within excerpts
* Highly customizable query and indexing APIs
* Phrase matching
* Stemming
* Stoplists
File::Inplace is a Perl module intended to ease the common task of
editing a file in-place. Inspired by variations of Perl's -i option,
this module is intended for somewhat more structured and reusable
editing than command line Perl typically allows.
File::Inplace endeavors to guarantee file integrity; that is, either
all of the changes made will be saved to the file, or none will.
It also offers functionality such as backup creation, automatic
field splitting per-line, automatic chomping/unchomping, and aborting
edits partially through without affecting the original file.
This module provides a CodeGenerator for Petal that inherits almost
everything from Petal::CodeGenerator but modifies how expressions are
dealt with. Petal normally includes code like this
$hash->get( "not:user" )
in the compiled template. This means the path has to be parsed and
interpreted at runtime. Using Petal::CodePerl, Petal will now produce this
! ($hash->{"user"})
which will be much faster.
It uses Parse::RecDescent to parse the PETALES expressions which makes it
a bit slow to load the module but this won't matter much unless you have
turned off caching. It won't matter at all for something like Apache's
mod_perl.
Petal is a XML based templating engine that is able to process any kind of
XML, XHTML and HTML.
Petal borrows a lot of good ideas from the Zope Page Templates TAL
specification, it is very well suited for the creation of WYSIWYG XHTML
editable templates.
The idea is to further enforce the separation of logic from presentation.
With Petal, graphic designers can use their favorite WYSIWYG editor to
easily edit templates without having to worry about the loops and ifs
which happen behind the scene.
RDF::Core is a pure perl implementation of RDF storage, parser,
serializer and query.
The storage functionality is basic - store, delete, query statements,
where query means ask about existence or count or retrieve statements
conforming given mask of (subject, predicate, object). Three storages
are available - in memory, file (DB_File) and DBMS (PostgreSQL).
The parser supports full RDF/XML syntax including aboutEach attribute
(though it became obsolete).
The serializer attempts to preserve anonymous nodes and to compact xml a
bit grouping statements with common subject.
The query language is rather focused on resources than on statements.
This class subclasses Text::Diff::Unified, a formatting class provided
by the Text::Diff module, to add XHTML markup to the unified diff
format. For details on the interface of the diff() function, see the
Text::Diff documentation.
In the XHTML formatted by this module, the contents of the diff returned
by diff() are wrapped in a <div> element, as is each hunk of the diff.
Within each hunk, all content is properly HTML encoded using
HTML::Entities, and the various sections of the diff are marked up with
the appropriate XHTML elements.
The Tree::Nary class implements N-ary trees (trees of data with any
number of branches), providing the organizational structure for a
tree (collection) of any number of nodes, but knowing nothing about
the specific type of node used. It can be used to display
hierarchical database entries in an internal application (the NIS
netgroup file is an example of such a database). It offers the
capability to select nodes on the tree, and attachment points for
nodes on the tree. Each attachment point can support multiple
child nodes.
This Perl module implements an XML parser with a interface similar to
XML::Parser. Though not all callbacks are supported, you should be able
to use it in the same way you use XML::Parser. Due to using experimental
regexp features it'll work only on Perl 5.6 and above and may behave
differently on different platforms.
Note that you cannot use regular expressions or split in callbacks. This
is due to a limitation of perl's regular expression implementation
(which is not re-entrant).