-
Notifications
You must be signed in to change notification settings - Fork 46
/
pdldoc
executable file
·116 lines (73 loc) · 2.26 KB
/
pdldoc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!perl
use strict;
$|++;
use PDL::Config;
BEGIN {
if ( not $PDL::Config{PDLDOC_IGNORE_AUTOLOADER} ) {
require PDL::AutoLoader;
}
}
use PDL::Doc::Perldl;
use File::Basename;
our $VERSION = '0.3';
my %options =
( a => \&apropos,
b => \&badinfo,
h => \&help, s => \&sig, u => \&usage );
my $name = basename( $0 );
my $usage = <<"EOH";
Usage: $name [-a] [-b] [-h] [-s] [-u] <string>
This program provides command-line access to the PDL documentation.
If no flag is specified, -h is assumed.
-a (apropos) searches the documentation for the string
-b (badinfo) does the function support bad values?
-h (help) prints the help for the function/module/document
-s (sig) prints the signature of the function
-u (usage) gives usage information on the function
EOH
my $oflag = $#ARGV > -1 ? substr($ARGV[0],0,1) eq "-" : 0;
die $usage unless ($#ARGV == 0 and not $oflag) or ($#ARGV == 1 and $oflag);
my $option = "h";
if ( $oflag ) {
$option = substr($ARGV[0],1,1);
die $usage unless exists $options{$option};
shift @ARGV;
}
&{$options{$option}}( $ARGV[0] );
exit;
__END__
=head1 NAME
pdldoc - shell interface to PDL documentation
=head1 SYNOPSIS
B<pdldoc> <text>
=cut
B<pdldoc> [B<-a>] [B<-b>] [B<-h>] [B<-s>] [B<-u>] <text>
=head1 DESCRIPTION
The aim of B<pdldoc> is to provide the same functionality
as the C<apropos>, C<help>, C<sig>, C<badinfo>,
and C<usage> commands available in the L<perldl|PDL::perldl>
and L<pdl2> shells.
Think of it as the PDL equivalent of C<perldoc -f>.
=head1 OPTIONS
=over 5
=item B<-h> help
print documentation about a PDL function or module or show a PDL manual.
This is the default option.
=item B<-a> apropos
Regex search PDL documentation database.
=item B<-b> badinfo
Information on the support for bad values provided by the function.
=item B<-s> sig
prints signature of PDL function.
=item B<-u> usage
Prints usage information for a PDL function.
=item C<$PDL::Config{PDLDOC_IGNORE_AUTOLOADER}>
This PDL configuration variable may be set in the perldl.conf
file to disable runtime search for documentation in
L<PDL::AutoLoader> files.
=back
=head1 VERSION
This is pdldoc version 0.3.
=head1 AUTHOR
Doug Burke <burke at ifa dot hawaii dot edu>.
Chris Marshall <chm at cpan dot org>.