dan wrote: > hi Hello,
> i have a bit of a puzzling question. well, puzzling to me anyway. > i have a sub which is passed 2 arguments. a wildcard search, and an actual > string to search in. > the wildcard search could be anything like an exact match with no wildcards > in, or a proper wildcarded search. such as: > *.co.uk > someones.hostname.com > etc and it has to search through a list of hosts and return only the ones > that match the search string supplied. > > the sub i have is: > sub wcmhost { > $temp1 = shift; > $temp2 = shift; > ($temp1 = quotemeta $temp1) =~ s/\\\*/.*/g; > if ($temp2 =~ $temp1) { return 1; } > else { return 0; } > } > whereas this is all very well, but if i search for *.uk, it won't just > return hostnames ending in ".uk", but it will return a host such as > "this.is.my.ukhostname.net", matching the ".uk" inside it too. what > modifications do i need to make to this sub so it only matches what's given, > and wildcards where there's a *? > temp1 is the search string, temp2 is the actual string it has to search in. > the sub is called from within a foreach loop which loops through a list of > hostnames, and responds according to the 1 or 0 this sub returns. It looks like you need this module: http://search.cpan.org/~rclamp/Text-Glob-0.06/lib/Text/Glob.pm John -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>