| Search-Query documentation | Contained in the Search-Query distribution. |
Search::Query - polyglot query parsing
use Search::Query;
my $parser = Search::Query->parser();
my $query = $parser->parse('+hello -world now');
print $query; # same as print $query->stringify;
This class provides documentation and class methods.
Search::Query started as a fork of the excellent Search::QueryParser module and was then rewritten to provide support for alternate query dialects.
Returns a Search::Query::Parser object. See the documentation for Search::Query::Parser for supported query syntax and how to customize the Parser.
Returns a Search::Query::Dialect-based class name corresponding to name. name defaults to 'Native'.
Alias for get_query_class().
Peter Karman, <karman at cpan.org>
Please report any bugs or feature requests to bug-search-query at rt.cpan.org, or through
the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Search-Query. I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.
You can find documentation for this module with the perldoc command.
perldoc Search::Query
You can also look for information at:
This module started as a fork of Search::QueryParser by Laurent Dami.
Copyright 2010 Peter Karman.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
| Search-Query documentation | Contained in the Search-Query distribution. |
package Search::Query; use warnings; use strict; use Search::Query::Parser; use Carp; use File::Find; use File::Spec; use Data::Dump qw( dump ); use Module::Pluggable search_path => ['Search::Query::Dialect'], sub_name => 'dialects'; our $VERSION = '0.19';
sub parser { my $class = shift; return Search::Query::Parser->new(@_); }
sub get_query_class { my $class = shift; my $name = shift or croak "query_class name required"; return $name if $name =~ m/^Search::Query::Dialect::/; for my $dialect ( $class->dialects ) { if ( $dialect =~ m/::$name$/i ) { eval "require $dialect"; croak $@ if $@; return $dialect; } } croak "No such Dialect available: $name"; }
*get_dialect = \&get_query_class;
1; # End of Search::Query