6. The @ARGV Array
One can use the @ARGV
variable to access the command line arguments passed to the perl script at the command line. Here's an example, that makes a backup of the file specified as its argument:
use strict; use warnings; my $filename = $ARGV[0]; open my $in, "<", $filename; open my $out, ">", $filename.".bak"; print {$out} join("",<$in>); close($in); close($out);
Using the command-line for specifying parameters to the program is usually more handy than using files, or modifying the script each time.
Note that it is often convenient to use shift
to draw arguments out of @ARGV
one at a time. When used without parameters outside of functions, shift extract arguments out of @ARGV
.