Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / man / man3 / FindBin.3
CommitLineData
86530b38
AT
1.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "FindBin 3"
132.TH FindBin 3 "2002-06-01" "perl v5.8.0" "Perl Programmers Reference Guide"
133.SH "NAME"
134FindBin \- Locate directory of original perl script
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 2
138\& use FindBin;
139\& use lib "$FindBin::Bin/../lib";
140.Ve
141.PP
142.Vb 1
143\& or
144.Ve
145.PP
146.Vb 2
147\& use FindBin qw($Bin);
148\& use lib "$Bin/../lib";
149.Ve
150.SH "DESCRIPTION"
151.IX Header "DESCRIPTION"
152Locates the full path to the script bin directory to allow the use
153of paths relative to the bin directory.
154.PP
155This allows a user to setup a directory tree for some software with
156directories <root>/bin and <root>/lib and then the above example will allow
157the use of modules in the lib directory without knowing where the software
158tree is installed.
159.PP
160If perl is invoked using the \fB\-e\fR option or the perl script is read from
161\&\f(CW\*(C`STDIN\*(C'\fR then FindBin sets both \f(CW$Bin\fR and \f(CW$RealBin\fR to the current
162directory.
163.SH "EXPORTABLE VARIABLES"
164.IX Header "EXPORTABLE VARIABLES"
165.Vb 4
166\& $Bin - path to bin directory from where script was invoked
167\& $Script - basename of script from which perl was invoked
168\& $RealBin - $Bin with all links resolved
169\& $RealScript - $Script with all links resolved
170.Ve
171.SH "KNOWN ISSUES"
172.IX Header "KNOWN ISSUES"
173If there are two modules using \f(CW\*(C`FindBin\*(C'\fR from different directories
174under the same interpreter, this won't work. Since \f(CW\*(C`FindBin\*(C'\fR uses
175\&\f(CW\*(C`BEGIN\*(C'\fR block, it'll be executed only once, and only the first caller
176will get it right. This is a problem under mod_perl and other persistent
177Perl environments, where you shouldn't use this module. Which also means
178that you should avoid using \f(CW\*(C`FindBin\*(C'\fR in modules that you plan to put
179on \s-1CPAN\s0. The only way to make sure that \f(CW\*(C`FindBin\*(C'\fR will work is to force
180the \f(CW\*(C`BEGIN\*(C'\fR block to be executed again:
181.PP
182.Vb 2
183\& delete $INC{'FindBin.pm'};
184\& require FindBin;
185.Ve
186.SH "KNOWN BUGS"
187.IX Header "KNOWN BUGS"
188If perl is invoked as
189.PP
190.Vb 1
191\& perl filename
192.Ve
193.PP
194and \fIfilename\fR does not have executable rights and a program called \fIfilename\fR
195exists in the users \f(CW$ENV{PATH}\fR which satisfies both \fB\-x\fR and \fB\-T\fR then FindBin
196assumes that it was invoked via the \f(CW$ENV{PATH}\fR.
197.PP
198Workaround is to invoke perl as
199.PP
200.Vb 1
201\& perl ./filename
202.Ve
203.SH "AUTHORS"
204.IX Header "AUTHORS"
205FindBin is supported as part of the core perl distribution. Please send bug
206reports to <\fIperlbug@perl.org\fR> using the perlbug program included with perl.
207.PP
208Graham Barr <\fIgbarr@pobox.com\fR>
209Nick Ing-Simmons <\fInik@tiuk.ti.com\fR>
210.SH "COPYRIGHT"
211.IX Header "COPYRIGHT"
212Copyright (c) 1995 Graham Barr & Nick Ing\-Simmons. All rights reserved.
213This program is free software; you can redistribute it and/or modify it
214under the same terms as Perl itself.