package Lire::SQLExt::LrMatch;

use strict;

use Carp;

use Lire::Utils qw/ check_param /;

use vars qw/%RE_CACHE/;

%RE_CACHE = ();

sub lr_match {
    my ( $value, $re, $cs ) = @_;

    check_param( $re, 're' );

    my $rx = $RE_CACHE{$re} ||= qr/$re/;

    return 0 unless defined $value;

    if ( $cs ) {
        return $value =~ /$re/;
    } else {
        return $value =~ /$re/i;
    }
}

1;

__END__

=pod

=head1 NAME

Lire::SQLExt::LrMatch - FILL ME IN

=head1 SYNOPSIS

  FILL ME IN

=head1 DESCRIPTION

  FILL ME IN

=head1 SEE ALSO

Lire::DlfConverter(3pm)

=head1 VERSION

$Id: LrMatch.pm,v 1.4 2006/07/23 13:16:31 vanbaal Exp $

=head1 AUTHORS

  Francis J. Lacoste <flacoste@logreport.org>
  Wolfgang Sourdeau <wolfgang@logreport.org>

=head1 COPYRIGHT

Copyright (C) 2003 Stichting LogReport Foundation LogReport@LogReport.org

This file is part of Lire.

Lire is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program (see COPYING); if not, check with
http://www.gnu.org/copyleft/gpl.html.

=cut

