| Text::Query::ParseAdvanced - Parse AltaVista advanced query syntax | 
Text::Query::ParseAdvanced - Parse AltaVista advanced query syntax
  use Text::Query;
  my $q=new Text::Query('hello and world',
                        -parse => 'Text::Query::ParseAdvanced',
                        -solve => 'Text::Query::SolveAdvancedString',
                        -build => 'Text::Query::BuildAdvancedString');
This module provides an object that parses a string containing a Boolean query expression similar to an AltaVista ``advanced query''.
It's base class is Text::Query::Parse;
Query expressions consist of literal strings (or regexps) joined by the following operators, in order of precedence from lowest to highest:
Operator names are not case-sensitive.  Note that if you want to use a | 
in a regexp, you need to backwhack it to keep it from being seen as a query 
operator.  Sub-expressions may be quoted in single or double quotes to 
match ``and,'' ``or,'' or ``not'' literally and may be grouped in parentheses 
((, )) to alter the precedence of evaluation.
A parenthesized sub-expression may also be concatenated with other sub- 
expressions to match sequences: (Perl or Python) interpreter would match 
either ``Perl interpreter'' or ``Python interpreter''.  Concatenation has a 
precedence higher than NOT but lower than AND.  Juxtaposition of 
simple words has the highest precedence of all.
These are the additional options of the prepare method and the constructor.
    {
        'or' => 'ou',
        'and' => 'et',
        'near' => 'proche',
        'not' => 'non',
    }
scope:
search the map for an entry whose key is scope and replace scope with
the scalar found. For instance:
     {
         'scope' => 'otherscope'
     }
Text::Query(3) Text::Query::Parse(3)
Eric Bohlman (ebohlman@netcom.com)
Loic Dachary (loic@senga.org)
| Text::Query::ParseAdvanced - Parse AltaVista advanced query syntax |