more meaningful message on invalid pattern argument (from
Gurusamy Sarathy [Wed, 2 Feb 2000 06:03:04 +0000 (06:03 +0000)]
Kevin Meltzer <KMeltzer@USCO.com>)

p4raw-id: //depot/perl@4945

utils/perldoc.PL

index 5dd0e1b..c4a9113 100644 (file)
@@ -559,6 +559,13 @@ if ($opt_q) {
     local @ARGV = @found;      # I'm lazy, sue me.
     my $found = 0;
     my %found_in;
+    my $rx = eval { qr/$opt_q/ };
+    die <<EOD unless $rx;
+Invalid regular expression '$opt_q' given as -q pattern:
+  $@
+Did you mean \\Q$opt_q ?
+
+EOD
 
     while (<>) {
        if (/^=head2\s+.*(?:$opt_q)/oi) {