6.18 命令列引數

在上面的例子中,index.html 為一命令列引數,readfile.pl 會對它進行處理。以下說明如何取得命令列引數:

命令列引數會形成一個陣列:@ARGV,比如:test.pl A B C 1 34 56,其中 A B C 1 34 56 組成 @ARGV 陣列

以下這個程式可以把所有命令列引數顯示出來。

#! /usr/bin/perl

foreach (@ARGV) {

	print "引數 ===> $_\n";
}

$num=$#ARGV + 1;

print "\n程式名稱為:$0\n";
print "\n共有 $num 個引數\n";

# 執行:test.pl A B C 1 34 56 秀出:

引數 ===> A
引數 ===> B
引數 ===> C
引數 ===> D
引數 ===> 12
引數 ===> 43

程式名稱為:test.pl

共有 6 個引數


再來看一個例子:

#! /usr/bin/perl

$i=0;
foreach (@ARGV) {
	$j=$i+1;
	print "第 $j 個引數 ===> $ARGV[$i]\n";
	$i++;
}

# 執行:test.pl A B C 1 34 56 秀出:

第 1 個引數 ===> A
第 2 個引數 ===> B
第 3 個引數 ===> C
第 4 個引數 ===> 1
第 5 個引數 ===> 34
第 6 個引數 ===> 56

程式本身的檔名為:$0 。而命令列中的第一個引數為 $ARGV[0],第二個引數為 $ARGV[1],其餘依此類推。