my @words = split(/\s+/, $_[0]); # <-- Better to split on any whitespace my $newquery = qq[SELECT "taskID" from "repair" WHERE ("repairKEYWORD1" = '')]; foreach my $currentword (@words) { # <-- Current word goes outside brackets $currentword =~ /^([\w]+)$/; $newquery .= qq[ or ("repairKEYWORD1" = '$currentword')]; $newquery .= qq[ or ("repairKEYWORD2" = '$currentword')]; $newquery .= qq[ or ("repairKEYWORD3" = '$currentword')]; }