On Thu, Aug 01, 2002 at 06:02:14PM -0400, Miko O'Sullivan wrote:
> It would be really groovy if that expression could be split with the
> delimiters in place, something like this:
> 
>    @tokens = split _/[?=*-+]/, $sql, keep=>'all';
> 
> and get back an array with these values: ('rank', '=', '?')
> 
> But that raises a problem: what if the expression is this (note the spaces):
> 
>    rank = ?
> 
> In that case I would want the = and ? but I wouldn't want the spaces.  A
> slightly different option could keep just stuff in parens:
> 
>    @tokens = split _/\s*([?=*-+])\s*/, $sql, keep=>'parens';

But perl5 already does this:

$ perl -le 'print join "|", split /\s*([?=*-+])\s*/, "rank = ?"'
rank|=||?
$

Dave.

-- 
You live and learn (although usually you just live).

Reply via email to