Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / Probe::Perl.3pm
1 .\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.10)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings.  \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 .    ds -- \(*W-
28 .    ds PI pi
29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
31 .    ds L" ""
32 .    ds R" ""
33 .    ds C` ""
34 .    ds C' ""
35 'br\}
36 .el\{\
37 .    ds -- \|\(em\|
38 .    ds PI \(*p
39 .    ds L" ``
40 .    ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el       .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD.  Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 .    de IX
53 .    tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 .    nr % 0
56 .    rr F
57 .\}
58 .el \{\
59 .    de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
65 .    \" fudge factors for nroff and troff
66 .if n \{\
67 .    ds #H 0
68 .    ds #V .8m
69 .    ds #F .3m
70 .    ds #[ \f1
71 .    ds #] \fP
72 .\}
73 .if t \{\
74 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 .    ds #V .6m
76 .    ds #F 0
77 .    ds #[ \&
78 .    ds #] \&
79 .\}
80 .    \" simple accents for nroff and troff
81 .if n \{\
82 .    ds ' \&
83 .    ds ` \&
84 .    ds ^ \&
85 .    ds , \&
86 .    ds ~ ~
87 .    ds /
88 .\}
89 .if t \{\
90 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 .    \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 .    \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 .    \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 .    ds : e
114 .    ds 8 ss
115 .    ds o a
116 .    ds d- d\h'-1'\(ga
117 .    ds D- D\h'-1'\(hy
118 .    ds th \o'bp'
119 .    ds Th \o'LP'
120 .    ds ae ae
121 .    ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "Probe::Perl 3"
127 .TH Probe::Perl 3 "2005-04-06" "perl v5.8.7" "User Contributed Perl Documentation"
128 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 Probe::Perl \- Information about the currently running perl
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 .Vb 2
137 \& use Probe::Perl;
138 \& $p = Probe::Perl\->new();
139 \& 
140 \& # Version of this perl as a floating point number
141 \& $ver = $p\->perl_version();
142 \& $ver = Probe::Perl\->perl_version();
143 \& 
144 \& # Convert a multi\-dotted string to a floating point number
145 \& $ver = $p\->perl_version_to_float($ver);
146 \& $ver = Probe::Perl\->perl_version_to_float($ver);
147 \& 
148 \& # Check if the given perl is the same as the one currently running
149 \& $bool = $p\->perl_is_same($perl_path);
150 \& $bool = Probe::Perl\->perl_is_same($perl_path);
151 \& 
152 \& # Find a path to the currently\-running perl
153 \& $path = $p\->find_perl_interpreter();
154 \& $path = Probe::Perl\->find_perl_interpreter();
155 \& 
156 \& # Get @INC before run\-time additions
157 \& @paths = $p\->perl_inc();
158 \& @paths = Probe::Perl\->perl_inc();
159 \& 
160 \& # Get the general type of operating system
161 \& $type = $p\->os_type();
162 \& $type = Probe::Perl\->os_type();
163 \& 
164 \& # Access Config.pm values
165 \& $val = $p\->config(\*(Aqfoo\*(Aq);
166 \& $val = Probe::Perl\->config(\*(Aqfoo\*(Aq);
167 \& $p\->config(\*(Aqfoo\*(Aq => \*(Aqbar\*(Aq);  # Set locally
168 \& $p\->config_revert(\*(Aqfoo\*(Aq);  # Revert
169 .Ve
170 .SH "DESCRIPTION"
171 .IX Header "DESCRIPTION"
172 This module provides methods for obtaining information about the
173 currently running perl interpreter.  It originally began life as code
174 in the \f(CW\*(C`Module::Build\*(C'\fR project, but has been externalized here for
175 general use.
176 .SH "METHODS"
177 .IX Header "METHODS"
178 .IP "\fInew()\fR" 4
179 .IX Item "new()"
180 Creates a new Probe::Perl object and returns it.  Most methods in
181 the Probe::Perl packages are available as class methods, so you
182 don't always need to create a new object.  But if you want to create a
183 mutable view of the \f(CW\*(C`Config.pm\*(C'\fR data, it's necessary to create an
184 object to store the values in.
185 .ie n .IP "config( $key [, $value] )" 4
186 .el .IP "config( \f(CW$key\fR [, \f(CW$value\fR] )" 4
187 .IX Item "config( $key [, $value] )"
188 Returns the \f(CW\*(C`Config.pm\*(C'\fR value associated with \f(CW$key\fR.  If \f(CW$value\fR
189 is also specified, then the value is set to \f(CW$value\fR for this view of
190 the data.  In this case, \f(CW\*(C`config()\*(C'\fR must be called as an object
191 method, not a class method.
192 .ie n .IP "config_revert( $key )" 4
193 .el .IP "config_revert( \f(CW$key\fR )" 4
194 .IX Item "config_revert( $key )"
195 Removes any user-assigned value in this view of the \f(CW\*(C`Config.pm\*(C'\fR data.
196 .IP "find_perl_interpreter( )" 4
197 .IX Item "find_perl_interpreter( )"
198 Returns the absolute path of this perl interpreter.  This is actually
199 sort of a tricky thing to discover sometimes \- in these cases we use
200 \&\f(CW\*(C`perl_is_same()\*(C'\fR to verify.
201 .IP "perl_version( )" 4
202 .IX Item "perl_version( )"
203 Returns the version of this perl interpreter as a perl-styled version
204 number using \f(CW\*(C`perl_version_to_float()\*(C'\fR.  Uses \f(CW$^V\fR if your perl is
205 recent enough, otherwise uses \f(CW$]\fR.
206 .ie n .IP "perl_version_to_float( $version )" 4
207 .el .IP "perl_version_to_float( \f(CW$version\fR )" 4
208 .IX Item "perl_version_to_float( $version )"
209 Formats \f(CW$version\fR as a perl-styled version number like \f(CW5.008001\fR.
210 .ie n .IP "perl_is_same( $perl )" 4
211 .el .IP "perl_is_same( \f(CW$perl\fR )" 4
212 .IX Item "perl_is_same( $perl )"
213 Given the name of a perl interpreter, this method determines if it has
214 the same configuration as the one represented by the current perl
215 instance.  Usually this means it's exactly the same
216 .IP "perl_inc( )" 4
217 .IX Item "perl_inc( )"
218 Returns a list of directories in this perl's \f(CW@INC\fR path, \fIbefore\fR
219 any entries from \f(CW\*(C`use lib\*(C'\fR, \f(CW$ENV{PERL5LIB}\fR, or \f(CW\*(C`\-I\*(C'\fR switches are
220 added.
221 .IP "os_type( [$osname] )" 4
222 .IX Item "os_type( [$osname] )"
223 Returns a generic \s-1OS\s0 type (e.g. \*(L"Unix\*(R", \*(L"Windows\*(R", \*(L"MacOS\*(R") for the
224 given \s-1OS\s0 name. If no \s-1OS\s0 name is given it uses the value in $^O, which
225 is the same as \f(CW$Config\fR{osname}.
226 .SH "AUTHOR"
227 .IX Header "AUTHOR"
228 Randy W. Sims <randys@thepierianspring.org>
229 .PP
230 Based partly on code from the Module::Build project, by Ken Williams
231 <kwilliams@cpan.org> and others.
232 .SH "COPYRIGHT"
233 .IX Header "COPYRIGHT"
234 Copyright 2005 Ken Williams and Randy Sims.  All rights reserved.
235 .PP
236 This library is free software; you can redistribute it and/or
237 modify it under the same terms as Perl itself.