http://www.perlmonks.org?node_id=130760


in reply to Getting args

Well, TIMTOWTDI...

All command line args go into the global array @ARGV.
shift defaults to @ARGV (when it is not in a suboutine)...
More info on that is in the Perl predefined variables node.
for one arg, you can shift it, like so: my $var = shift
or, for many args:
my ($var1,$var2,var3,$var4)=@ARGV;

Which is kinda neat.
Also, you could access them directly: print $ARGV[0]
Well, there might be even more ways, but you get the idea, right? :)

Here's some code to play with.

#!/usr/bin/perl if ($#ARGV == 2) { # $#ARGV is number of args in @ARGV minus one my $foo = shift; #First arg; my $bar = shift; #second arg; my $baz = shift; #Last arg; #print it; print "You say $foo $bar $baz?\n"; } else { #Warn, and exit; warn <<TEXT; I need three arguments! Usage: $0 arg1 arg2 arg3 TEXT }

I hope that helps. :-)