in reply to Word Boundary Matching

A couple things here. To match a word boundry, you're going to want to use a \b. If you're storing these words you're matching against in an array, you're going to want to quote the variable with  \Q \E.

Here's an example that I use in something where I want to filter out lines of a file that contain words in an array.

sub filter_line { my ($i, $line); $line = shift; foreach $i (@_) { if ($line =~ /\b\Q$i\E\b/) { return 1 } } return 0; }

Hope this helps..
Rich

Addition: Read perlre and look at what constitutes a word boundry. In your example, it will match radio and not radiohead, but it will also match radio-head or radio.head, etc. But it will consider the underbar ( _ ) as part of the word.. so it won't match radio_head.