summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man3/ExtUtils::Command.3perl
blob: 336f8eeca4d1ba5b16f9e8ea9c008a975da8e58a (plain)
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "ExtUtils::Command 3perl"
.TH ExtUtils::Command 3perl 2024-02-11 "perl v5.38.2" "Perl Programmers Reference Guide"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH NAME
ExtUtils::Command \- utilities to replace common UNIX commands in Makefiles etc.
.SH SYNOPSIS
.IX Header "SYNOPSIS"
.Vb 12
\&  perl \-MExtUtils::Command \-e cat files... > destination
\&  perl \-MExtUtils::Command \-e mv source... destination
\&  perl \-MExtUtils::Command \-e cp source... destination
\&  perl \-MExtUtils::Command \-e touch files...
\&  perl \-MExtUtils::Command \-e rm_f files...
\&  perl \-MExtUtils::Command \-e rm_rf directories...
\&  perl \-MExtUtils::Command \-e mkpath directories...
\&  perl \-MExtUtils::Command \-e eqtime source destination
\&  perl \-MExtUtils::Command \-e test_f file
\&  perl \-MExtUtils::Command \-e test_d directory
\&  perl \-MExtUtils::Command \-e chmod mode files...
\&  ...
.Ve
.SH DESCRIPTION
.IX Header "DESCRIPTION"
The module is used to replace common UNIX commands.  In all cases the
functions work from \f(CW@ARGV\fR rather than taking arguments.  This makes
them easier to deal with in Makefiles.  Call them like this:
.PP
.Vb 1
\&  perl \-MExtUtils::Command \-e some_command some files to work on
.Ve
.PP
and \fINOT\fR like this:
.PP
.Vb 1
\&  perl \-MExtUtils::Command \-e \*(Aqsome_command qw(some files to work on)\*(Aq
.Ve
.PP
For that use Shell::Command.
.PP
Filenames with * and ? will be glob expanded.
.SS FUNCTIONS
.IX Subsection "FUNCTIONS"
.IP cat 4
.IX Item "cat"
.Vb 1
\&    cat file ...
.Ve
.Sp
Concatenates all files mentioned on command line to STDOUT.
.IP eqtime 4
.IX Item "eqtime"
.Vb 1
\&    eqtime source destination
.Ve
.Sp
Sets modified time of destination to that of source.
.IP rm_rf 4
.IX Item "rm_rf"
.Vb 1
\&    rm_rf files or directories ...
.Ve
.Sp
Removes files and directories \- recursively (even if readonly)
.IP rm_f 4
.IX Item "rm_f"
.Vb 1
\&    rm_f file ...
.Ve
.Sp
Removes files (even if readonly)
.IP touch 4
.IX Item "touch"
.Vb 1
\&    touch file ...
.Ve
.Sp
Makes files exist, with current timestamp
.IP mv 4
.IX Item "mv"
.Vb 2
\&    mv source_file destination_file
\&    mv source_file source_file destination_dir
.Ve
.Sp
Moves source to destination.  Multiple sources are allowed if
destination is an existing directory.
.Sp
Returns true if all moves succeeded, false otherwise.
.IP cp 4
.IX Item "cp"
.Vb 2
\&    cp source_file destination_file
\&    cp source_file source_file destination_dir
.Ve
.Sp
Copies sources to the destination.  Multiple sources are allowed if
destination is an existing directory.
.Sp
Returns true if all copies succeeded, false otherwise.
.IP chmod 4
.IX Item "chmod"
.Vb 1
\&    chmod mode files ...
.Ve
.Sp
Sets UNIX like permissions 'mode' on all the files.  e.g. 0666
.IP mkpath 4
.IX Item "mkpath"
.Vb 1
\&    mkpath directory ...
.Ve
.Sp
Creates directories, including any parent directories.
.IP test_f 4
.IX Item "test_f"
.Vb 1
\&    test_f file
.Ve
.Sp
Tests if a file exists.  \fIExits\fR with 0 if it does, 1 if it does not (ie.
shell's idea of true and false).
.IP test_d 4
.IX Item "test_d"
.Vb 1
\&    test_d directory
.Ve
.Sp
Tests if a directory exists.  \fIExits\fR with 0 if it does, 1 if it does
not (ie. shell's idea of true and false).
.IP dos2unix 4
.IX Item "dos2unix"
.Vb 1
\&    dos2unix files or dirs ...
.Ve
.Sp
Converts DOS and OS/2 linefeeds to Unix style recursively.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Shell::Command which is these same functions but take arguments normally.
.SH AUTHOR
.IX Header "AUTHOR"
Nick Ing-Simmons \f(CW\*(C`ni\-s@cpan.org\*(C'\fR
.PP
Maintained by Michael G Schwern \f(CW\*(C`schwern@pobox.com\*(C'\fR within the
ExtUtils-MakeMaker package and, as a separate CPAN package, by
Randy Kobes \f(CW\*(C`r.kobes@uwinnipeg.ca\*(C'\fR.