How to pass command line Arguments to a perl script using multiple methods?
Method1:
perl tmp.pl 1 2 7 3 5
($a,$bcsa,$msx, $flag ,$key) = @ARGV;
Method2:
while (my $var = <>) {
while (my $var = <>) {
print $var;
}
Method3:
while (my $var1 = shift) {
print "$var1\n";
}
Method6:
foreach my $argnum (0 .. $#ARGV) {
print "$ARGV[$argnum]\n";
}
Method7:
foreach my $arg (@ARGV) {
print $arg, "\n";
}
Method5:
If the arguments are options/switches, use GetOpt::Std or GetOpt::Long,
If they have a different meaning, you can use GetOpt::Std and GetOpt::Long to process them easily.
GetOpt::Std supports only single-character switches and GetOpt::Long is much more flexible. From GetOpt::Long:
use Getopt::Long;
my $data = "file.dat";
my $length = 24;
my $verbose;
$result = GetOptions ("length=i" => \$length, # numeric
"file=s" => \$data, # string
"verbose" => \$verbose); # flag
Alternatively, @ARGV is a special variable that contains all the command line arguments. $ARGV[0] is the first (ie. "string1" in your case) and $ARGV[1] is the second argument. You don't need a special module to access @ARGV.
Labels: kaavannan perl blogspot, pass parameter to perl script from shell, perl command line arguments example, perl named command line arguments, perl take input from command line