http://qs321.pair.com?node_id=230176


in reply to Perl and MySQL - performing a search...

You don't seem to be interested in which words in your list are matched, just in whether any words are matched, so why not use the rows method which tells you how many rows were matched by your query.

$sth = $dbh->prepare (qq{ SELECT * FROM `forbidden_usernames` WHERE `f +_user` LIKE ? }); $sth->execute("$str"); my $rows = $sth->rows; $sth->finish(); if ($rows) { return("bad"); }

Or you might just want to return the nuumber of rows matched.

Note: Untested code

Update: Actually I suppose that the suggestion of CountZero above is a better way of achieving the same result. My suggestion would only be more appropriate if you might be interested in which words were matched.