package SQLite::VirtualTable::Util; use strict; use warnings; our $VERSION = '0.03'; require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw(unescape); my %esc = ( "\n" => 'n', "\r" => 'r', "\t" => 't' ); my %unesc = reverse %esc; sub unescape { my $s = shift; $s =~ s{\\([tnr\\"' =:#!])|\\u([\da-fA-F]{4})|["']}{ defined $1 ? $unesc{$1}||$1 : defined $2 ? chr hex $2 : ''; }ge; $s; } 1; __END__ =head1 NAME SQLite::VirtualTable::Util - Helper functions for SQLite::VirtualTable =head1 SYNOPSIS use SQLite::VirtualTable::Utill qw(unescape); my $foo = unescape $bar; =head1 DESCRIPTION This module contains some utility functions that are used by SQLite::VirtualTable and derived modules. =head2 FUNCTIONS: =over 4 =item unescape($arg) remove quotes and resolve escaped characters from the argument. =back =head1 AUTHOR Salvador FandiEo (sfandino@yahoo.com). =head1 COPYRIGHT AND LICENSE Copyright (C) 2006 by Qindel Formacion y Servicios, S. L. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available. =cut