Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / man / man3 / File::Spec::Unix.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 "File::Spec::Unix 3"
132.TH File::Spec::Unix 3 "2002-06-01" "perl v5.8.0" "Perl Programmers Reference Guide"
133.SH "NAME"
134File::Spec::Unix \- File::Spec for Unix, base for other File::Spec modules
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 1
138\& require File::Spec::Unix; # Done automatically by File::Spec
139.Ve
140.SH "DESCRIPTION"
141.IX Header "DESCRIPTION"
142Methods for manipulating file specifications. Other File::Spec
143modules, such as File::Spec::Mac, inherit from File::Spec::Unix and
144override specific methods.
145.SH "METHODS"
146.IX Header "METHODS"
147.IP "\fIcanonpath()\fR" 2
148.IX Item "canonpath()"
149No physical check on the filesystem, but a logical cleanup of a
150path. On \s-1UNIX\s0 eliminates successive slashes and successive \*(L"/.\*(R".
151.Sp
152.Vb 1
153\& $cpath = File::Spec->canonpath( $path ) ;
154.Ve
155.IP "\fIcatdir()\fR" 2
156.IX Item "catdir()"
157Concatenate two or more directory names to form a complete path ending
158with a directory. But remove the trailing slash from the resulting
159string, because it doesn't look good, isn't necessary and confuses
160\&\s-1OS2\s0. Of course, if this is the root directory, don't cut off the
161trailing slash :\-)
162.IP "catfile" 2
163.IX Item "catfile"
164Concatenate one or more directory names and a filename to form a
165complete path ending with a filename
166.IP "curdir" 2
167.IX Item "curdir"
168Returns a string representation of the current directory. \*(L".\*(R" on \s-1UNIX\s0.
169.IP "devnull" 2
170.IX Item "devnull"
171Returns a string representation of the null device. \*(L"/dev/null\*(R" on \s-1UNIX\s0.
172.IP "rootdir" 2
173.IX Item "rootdir"
174Returns a string representation of the root directory. \*(L"/\*(R" on \s-1UNIX\s0.
175.IP "tmpdir" 2
176.IX Item "tmpdir"
177Returns a string representation of the first writable directory
178from the following list or "" if none are writable:
179.Sp
180.Vb 2
181\& $ENV{TMPDIR}
182\& /tmp
183.Ve
184.Sp
185Since perl 5.8.0, if running under taint mode, and if \f(CW$ENV\fR{\s-1TMPDIR\s0}
186is tainted, it is not used.
187.IP "updir" 2
188.IX Item "updir"
189Returns a string representation of the parent directory. \*(L"..\*(R" on \s-1UNIX\s0.
190.IP "no_upwards" 2
191.IX Item "no_upwards"
192Given a list of file names, strip out those that refer to a parent
193directory. (Does not strip symlinks, only '.', '..', and equivalents.)
194.IP "case_tolerant" 2
195.IX Item "case_tolerant"
196Returns a true or false value indicating, respectively, that alphabetic
197is not or is significant when comparing file specifications.
198.IP "file_name_is_absolute" 2
199.IX Item "file_name_is_absolute"
200Takes as argument a path and returns true if it is an absolute path.
201.Sp
202This does not consult the local filesystem on Unix, Win32, \s-1OS/2\s0 or Mac
203\&\s-1OS\s0 (Classic). It does consult the working environment for \s-1VMS\s0 (see
204\&\*(L"file_name_is_absolute\*(R" in File::Spec::VMS).
205.IP "path" 2
206.IX Item "path"
207Takes no argument, returns the environment variable \s-1PATH\s0 as an array.
208.IP "join" 2
209.IX Item "join"
210join is the same as catfile.
211.IP "splitpath" 2
212.IX Item "splitpath"
213.Vb 2
214\& ($volume,$directories,$file) = File::Spec->splitpath( $path );
215\& ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
216.Ve
217.Sp
218Splits a path in to volume, directory, and filename portions. On systems
219with no concept of volume, returns undef for volume.
220.Sp
221For systems with no syntax differentiating filenames from directories,
222assumes that the last file is a path unless \f(CW$no_file\fR is true or a
223trailing separator or /. or /.. is present. On Unix this means that \f(CW$no_file\fR
224true makes this return ( '', \f(CW$path\fR, '' ).
225.Sp
226The directory portion may or may not be returned with a trailing '/'.
227.Sp
228The results can be passed to \*(L"\fIcatpath()\fR\*(R" to get back a path equivalent to
229(usually identical to) the original path.
230.IP "splitdir" 2
231.IX Item "splitdir"
232The opposite of \*(L"\fIcatdir()\fR\*(R".
233.Sp
234.Vb 1
235\& @dirs = File::Spec->splitdir( $directories );
236.Ve
237.Sp
238$directories must be only the directory portion of the path on systems
239that have the concept of a volume or that have path syntax that differentiates
240files from directories.
241.Sp
242Unlike just splitting the directories on the separator, empty
243directory names (\f(CW''\fR) can be returned, because these are significant
244on some OSs.
245.Sp
246On Unix,
247.Sp
248.Vb 1
249\& File::Spec->splitdir( "/a/b//c/" );
250.Ve
251.Sp
252Yields:
253.Sp
254.Vb 1
255\& ( '', 'a', 'b', '', 'c', '' )
256.Ve
257.IP "\fIcatpath()\fR" 2
258.IX Item "catpath()"
259Takes volume, directory and file portions and returns an entire path. Under
260Unix, \f(CW$volume\fR is ignored, and directory and file are catenated. A '/' is
261inserted if needed (though if the directory portion doesn't start with
262\&'/' it is not added). On other OSs, \f(CW$volume\fR is significant.
263.IP "abs2rel" 2
264.IX Item "abs2rel"
265Takes a destination path and an optional base path returns a relative path
266from the base path to the destination path:
267.Sp
268.Vb 2
269\& $rel_path = File::Spec->abs2rel( $path ) ;
270\& $rel_path = File::Spec->abs2rel( $path, $base ) ;
271.Ve
272.Sp
273If \f(CW$base\fR is not present or '', then \fIcwd()\fR is used. If \f(CW$base\fR is relative,
274then it is converted to absolute form using \*(L"\fIrel2abs()\fR\*(R". This means that it
275is taken to be relative to \fIcwd()\fR.
276.Sp
277On systems with the concept of a volume, this assumes that both paths
278are on the \f(CW$destination\fR volume, and ignores the \f(CW$base\fR volume.
279.Sp
280On systems that have a grammar that indicates filenames, this ignores the
281\&\f(CW$base\fR filename as well. Otherwise all path components are assumed to be
282directories.
283.Sp
284If \f(CW$path\fR is relative, it is converted to absolute form using \*(L"\fIrel2abs()\fR\*(R".
285This means that it is taken to be relative to \fIcwd()\fR.
286.Sp
287No checks against the filesystem are made. On \s-1VMS\s0, there is
288interaction with the working environment, as logicals and
289macros are expanded.
290.Sp
291Based on code written by Shigio Yamaguchi.
292.IP "\fIrel2abs()\fR" 2
293.IX Item "rel2abs()"
294Converts a relative path to an absolute path.
295.Sp
296.Vb 2
297\& $abs_path = File::Spec->rel2abs( $path ) ;
298\& $abs_path = File::Spec->rel2abs( $path, $base ) ;
299.Ve
300.Sp
301If \f(CW$base\fR is not present or '', then \fIcwd()\fR is used. If \f(CW$base\fR is relative,
302then it is converted to absolute form using \*(L"\fIrel2abs()\fR\*(R". This means that it
303is taken to be relative to \fIcwd()\fR.
304.Sp
305On systems with the concept of a volume, this assumes that both paths
306are on the \f(CW$base\fR volume, and ignores the \f(CW$path\fR volume.
307.Sp
308On systems that have a grammar that indicates filenames, this ignores the
309\&\f(CW$base\fR filename as well. Otherwise all path components are assumed to be
310directories.
311.Sp
312If \f(CW$path\fR is absolute, it is cleaned up and returned using \*(L"\fIcanonpath()\fR\*(R".
313.Sp
314No checks against the filesystem are made. On \s-1VMS\s0, there is
315interaction with the working environment, as logicals and
316macros are expanded.
317.Sp
318Based on code written by Shigio Yamaguchi.
319.SH "SEE ALSO"
320.IX Header "SEE ALSO"
321File::Spec