EXTUTILS::COMMAND(3perl)
π ExtUtils::Command π
okay bestie, gather round, because this little icon lives in the Perl Programmers Reference Guide and it is literally the moment. This is ExtUtils::Command β utilities to replace common UNIX commands in Makefiles etc. π
β¨ NAME β¨
ExtUtils::Command β utilities to replace common UNIX commands in Makefiles etc. no cap, that's the whole vibe. π
πΈ SYNOPSIS πΈ
here's how we pull up, one command at a time:
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...
...
and there's more where that came from, the ... is doing so much heavy lifting rn πβ¨
π¦ DESCRIPTION π¦
so the whole point: this module is used to replace common UNIX commands. In all cases the functions work from @ARGV rather than taking arguments. That's the trick that makes them way easier to deal with in Makefiles. Call them like this:
perl -MExtUtils::Command -e some_command some files to work on
and NOT like this:
perl -MExtUtils::Command -e 'some_command qw(some files to work on)'
bestie I am begging you, do not do the second one. π For that use Shell::Command.
Also, filenames with * and ? will be glob expanded. iconic behavior fr. π
π FUNCTIONS π
π
cat
cat file ...
Concatenates all files mentioned on command line to STDOUT. slay.
π
eqtime
eqtime source destination
Sets modified time of destination to that of source. syncing, but make it timestamps. β¨
π
rm_rf
rm_rf files or directories ...
Removes files and directories β recursively (even if readonly). yes, even if readonly. it does not care. it does not ask. π
π
rm_f
rm_f file ...
Removes files (even if readonly). same energy, just not recursive.
π
touch
touch file ...
Makes files exist, with current timestamp. manifesting files into being, honestly. π¦
π
mv
mv source_file destination_file
mv source_file source_file destination_dir
Moves source to destination. Multiple sources are allowed if destination is an existing directory.
Returns true if all moves succeeded, false otherwise. important!! it tells you how it went. π
π
cp
cp source_file destination_file
cp source_file source_file destination_dir
Copies sources to the destination. Multiple sources are allowed if destination is an existing directory.
Returns true if all copies succeeded, false otherwise. twin behavior. π
π
chmod
chmod mode files ...
Sets UNIX like permissions 'mode' on all the files. e.g. 0666. we love a number that just means something. π
π
mkpath
mkpath directory ...
Creates directories, including any parent directories. the whole family tree, coming into existence. πΈ
π
test_f
test_f file
Tests if a file exists. Exits with 0 if it does, 1 if it does not (ie. shell's idea of true and false). okay this one is lowkey unhinged because 0 is true down here but that's just how the shell works bestie, we don't make the rules. π
π
test_d
test_d directory
Tests if a directory exists. Exits with 0 if it does, 1 if it does not (ie. shell's idea of true and false). same chaotic truth logic, but for directories. β¨
π
dos2unix
dos2unix files or dirs ...
Converts DOS and OS/2 linefeeds to Unix style recursively. glow up for your line endings. π§
π SEE ALSO π
Shell::Commandwhich is these same functions but take arguments normally.
like, the same besties, just a different way of talking to them. iykyk. π
π AUTHOR π
Nick Ing-Simmons ni-s@cpan.org π
Maintained by Michael G Schwern schwern@pobox.com within the ExtUtils-MakeMaker package and, as a separate CPAN package, by Randy Kobes r.kobes@uwinnipeg.ca. the maintenance crew, we stan. π«Ά
and that's the whole page bestie, sourced from perl v5.44.0 and dated 2026-10-17, ExtUtils::Command(3perl), mwah π
β¨
π¦ where this page comes from
- arch rolling: perl 5.44.0-1 Β· Artistic-1.0-Perl AND GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms