in reply to RegEx for users who dont know RegEx

Something like this?

($reg_exp = $user_query) =~ s/(\W)/$1 eq '*' ? "\\S*" : "\\$1"/ge;

It can be used as follows:

# File as an array of lines: @matching_lines = grep { /$reg_exp/ } @lines_to_search;

or

# File in a scalar: @matching_lines = $file =~ /^(.*${reg_exp}.*)$/mg;

Replies are listed 'Best First'.
Re^2: RegEx for users who dont know RegEx
by The Mad Hatter (Priest) on Dec 23, 2004 at 17:36 UTC
    ($reg_exp = $user_query) =~ s/(\W)/$1 eq '*' ? "\\S*" : "\\\$1"/ge;
    You have too many slashes in the second part of that ternary (results in invalid chars being replaced by a literal '\$1').
      Thanks. Fixed. Tested.