.\" -*- 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-01-12 "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.