perlfaq6: (cut-n-paste to get the final "-" there) http://www.perldoc.com/perl5.8.0/pod/perlfaq6.html#How-do-I-match-a-pattern-that-is-supplied-by-the-user-
How do I match a pattern that is supplied by the user? Well, if it's really a pattern, then just use chomp($pattern = <STDIN>); if ($line =~ /$pattern/) { } Alternatively, since you have no guarantee that your user entered a valid regular expression, trap the exception this way: if (eval { $line =~ /$pattern/ }) { } If all you really want to search for a string, not a pattern, then you should either use the index() function, which is made for string searching, or if you can't be disabused of using a pattern match on a non-pattern, then be sure to use \Q...\E, documented in perlre. $pattern = <STDIN>; open (FILE, $input) or die "Couldn't open input $input: $!; aborting"; while (<FILE>) { print if /\Q$pattern\E/; } close FILE; Good luck, .ted -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, June 06, 2003 10:07 AM To: [EMAIL PROTECTED] Subject: regexing AND NOT Dear cgi-colleagues, I want to write a cgi-script to allow users to search for strings in a text. Therefore I use a form offering a field where he / she can put in what to look for. Instead of asking for a regular expression I want to give them the possibility of entering something like spoon AND NOT spoonful or sun AND NOT sunday suntan sundried or sun mon AND NOT sunday monday suntan sundried as a search pattern. Is there a function or a module that translate such search patterns into a regular expression? Or do I have to do all the job on my own by rearranging the QUERY_STRING? If you have any idea, please let me know. Peter Stahl University of Wuerzburg -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]