my @out = split(/\s+(AND|OR)\s+/i, $string); for (my $i = 0; $i < scalar(@out); $i += 2) { $out[$i] = 'tools.description LIKE "%' . $out[$i] . '%"'; #NB, you want to quote $out[$i] appropriately for your database to avoid arbitrary user SQL uc($out[$i+1]); } print join(' ', @out);