in reply to Making sure user input is a valid regexp

chomp $user_input; my $regex = eval { qr{$user_input} }; my $error = $@; unless (defined $regex) { print "Your regex seems to be invalid. Try `perldoc perlretut` for +an explanation of valid regexes.\n" print "Regex compilation error was: $error"; }

See also: eval, perlop.

Update: unconfused variable names, as pointed out by choroba++ and ReturnOfThelonious++

Replies are listed 'Best First'.
Re^2: Making sure user input is a valid regexp
by ReturnOfThelonious (Beadle) on Jun 08, 2010 at 14:43 UTC
    Good, but $! should be $@.
Re^2: Making sure user input is a valid regexp
by choroba (Cardinal) on Jun 08, 2010 at 14:49 UTC
    And in print, you would use $error instead of $! replaced by $@ :)