in reply to How can grep search based on text or pattern based on user input?
My personal vote on this problem would be to provide the users a radio button group allowing them to choose whether they want to use Perl-based or standard search-engine searches, rather than trying to come up with a heuristic to determine if $searchtext is a Perl REx or just a term.
However, if you really want to do that, you'll want to look into `\Q' and `\E' to quote characters in a REx, rather than going to all that trouble (on line 4) to take care of metacharacters. I'm skeptical of the conversion from `*' to `\w*', but I suppose it's a sensible choice.
Rather than trying to build up a string that syntactically resembles a REx in Perl code, build the actual search pattern and then use it in the grep inside of a REx:
grep m/$searchtext/, <STUFF>
You might also want to look into qr// for a more efficient and cleaner way to build RExen programatically.
-dlc
|
---|