# Grep::Query 1.009 This module implements a limited query language for logical expressions (AND, OR, NOT, parenthesized, ...etc) and apply it to lists of data for selecting a subset, similar to using "grep" with a block/regexp in the code. A reason for not using grep with a regular code block directly is that the original impetus for its existence was to allow a user running a command-line tool to submit an arbitrary query for a list the tool had somehow generated (e.g. a list of file names). The initial approach of having the user pass individual regexes for doing "include/exclude" operations proved to be too limiting if the selection criteria became more complex. Hence the notion of a query language that makes it possible to express more complex combinations of regexes was born. Matching can be most readily done on plain lists of scalar strings/values, but by providing a 'field accessor', matching can be done against lists of arbitrary objects/hashes using all possible data they contain, including doing both string (regexes, eq/ne/gt/ge/lt/le) as well as numerical (==/!=/>/>=/