Summary: A quick tip on how to read Perl command line arguments.
When you're writing a Perl script, command-line arguments are stored in the array named @ARGV
.
$ARGV[0]
contains the first argument, $ARGV[1]
contains the second argument, etc.
$#ARGV
is the subscript of the last element of the @ARGV
array, so the number of arguments on the command line is $#ARGV + 1
.
A Perl command line arguments example
Here's a simple program that prints the number of command-line arguments it's given, and the values of the arguments:
#!/usr/bin/perl #---------------------# # PROGRAM: argv.pl # #---------------------# $numArgs = $#ARGV + 1; print "thanks, you gave me $numArgs command-line arguments.\n"; foreach $argnum (0 .. $#ARGV) { print "$ARGV[$argnum]\n"; }
If you run this program from a Unix command-line like this
./argv.pl 1 2 3 4
or, from a DOS command-line like this
perl argv.pl 1 2 3 4
you'll get this result:
thanks, you gave me 4 command-line arguments. 1 2 3 4
Perl command line arguments - Summary
I hope this tip on how to read Perl command line arguments has been helpful. As you can see, the key is knowing about the @ARGV array, and then knowing how to work with Perl arrays in general.