>perl -wMstrict -le "print '------ output ------'; my $s = shift; print $s; my @chunks = split / AND /, $s; @chunks = map { /OR/ ? qq{($_)} : $_ } @chunks; print join ' AND ', @chunks; " "huckabee AND jfkadlsfj fdsfldfj06329 OR reagan AND OReilly AND clinton OR sebelius OR mccain" ------ output ------ huckabee AND jfkadlsfj fdsfldfj06329 OR reagan AND OReilly AND clinton OR sebelius OR mccain huckabee AND (jfkadlsfj fdsfldfj06329 OR reagan) AND (OReilly) AND (clinton OR sebelius OR mccain)