in reply to Regex switching problem

This line:
my @out = split(\s(AND|OR)\s/i,$string);
looks screwy to me. Perhaps you meant:
my @out = split(/\s(AND|OR)\s/i,$string);
Update: Here is a quick rewrite that I believe does what you want...

#!/usr/bin/perl -wT use strict; my $string = "something and something else or this thing here"; my $new = join(' ', map {/^(and|or)$/ ? uc($_) : "tools.description LIKE \"%$ +_%\""} split(/\s*\b(and|or)\b\s*/,$string)); print "S:$string\n"; print "N:$new\n"; =OUTPUT S:something and something else or this thing here N:tools.description LIKE "%something%" AND tools.description LIKE "%so +mething else%" OR tools.description LIKE "%this thing here%"
Reading the complicated line from bottom to top.

-Blake