David Golden > Regexp-SQL-LIKE-0.001 > Regexp::SQL::LIKE

Download:
Regexp-SQL-LIKE-0.001.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.001   Source  

NAME ^

Regexp::SQL::LIKE - Translate SQL LIKE pattern to a regular expression

VERSION ^

version 0.001

SYNOPSIS ^

   use Regexp::SQL::LIKE 'to_regexp';
 
   my $re = to_regexp( "Hello %" ); # returns qr/^Hello .*/

DESCRIPTION ^

This module converts an SQL LIKE pattern to its Perl regular expression equivalent.

Currently, only % and . wildcards are supported and only \ is supported as an escape character.

No functions are exported by default. You may rename a function on import as follows:

   use Regexp::SQL::Like to_regexp => { -as => 'regexp_from_like' };

See Sub::Exporter for more details on import customization.

FUNCTIONS ^

to_regexp

  my $re = to_regexp( "Hello %" );

This function converts an SQL LIKE pattern into an equivalent regular expression. A % character matches any number of characters like .* and a . character matchs a single character. Backspaces may be used to escape %, . and \ itself:

  to_regexp( "Match literal \%" );

All other characters are run through quotemeta() to sanitize them.

The function returns a compiled regular expression.

SUPPORT ^

Bugs / Feature Requests

Please report any bugs or feature requests by email to bug-regexp-sql-like at rt.cpan.org, or through the web interface at http://rt.cpan.org/Public/Dist/Display.html?Name=Regexp-SQL-LIKE. You will be automatically notified of any progress on the request by the system.

Source Code

This is open source software. The code repository is available for public review and contribution under the terms of the license.

http://github.com/dagolden/regexp-sql-like

  git clone http://github.com/dagolden/regexp-sql-like

AUTHOR ^

David Golden <dagolden@cpan.org>

COPYRIGHT AND LICENSE ^

This software is Copyright (c) 2011 by David Golden.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004
syntax highlighting: