Allow "perldoc -F filename":
Ilya Zakharevich [Thu, 11 Dec 1997 19:37:00 +0000 (14:37 -0500)]
Subject: 5.004_55: Patch to perldoc

p4raw-id: //depot/perl@368

utils/perldoc.PL

index d223a9a..0ac8e0a 100644 (file)
@@ -48,7 +48,7 @@ if(@ARGV<1) {
        $me = $0;               # Editing $0 is unportable
        $me =~ s,.*/,,;
        die <<EOF;
-Usage: $me [-h] [-v] [-t] [-u] [-m] [-l] PageName|ModuleName|ProgramName
+Usage: $me [-h] [-v] [-t] [-u] [-m] [-l] [-F] PageName|ModuleName|ProgramName
        $me -f PerlFunc
 
 We suggest you use "perldoc perldoc" to get aquainted 
@@ -80,6 +80,7 @@ Options:
     -u  Display unformatted pod text
     -m   Display modules file in its entirety
     -l   Display the modules file name
+    -F   Arguments are file names, not modules
     -v  Verbosely describe what's going on
 
 PageName|ModuleName...
@@ -104,7 +105,7 @@ use Text::ParseWords;
 
 unshift(@ARGV,shellwords($ENV{"PERLDOC"}));
 
-getopts("mhtluvf:") || usage;
+getopts("mhtluvFf:") || usage;
 
 usage if $opt_h || $opt_h; # avoid -w warning
 
@@ -254,6 +255,11 @@ foreach (@pages) {
        # We must look both in @INC for library modules and in PATH
        # for executables, like h2xs or perldoc itself.
        @searchdirs = @INC;
+       if ($opt_F) {
+         next unless -r;
+         push @found, $_ if $opt_m or containspod($_);
+         next;
+       }
        unless ($opt_m) { 
            if ($Is_VMS) {
                my($i,$trn);
@@ -472,6 +478,10 @@ the file for you and simply hand it off for display.
 
 Display the file name of the module found.
 
+=item B<-F> file names
+
+Consider arguments as file names, no search in directories should be performed.
+
 =item B<-f> perlfunc
 
 The B<-f> option followed by the name of a perl built in function will