perl > arg


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

実行時の引数

ARGV

実行時の引数は、@ARGV配列に入る。
$ARGV[0]には、普通に最初の引数が入る。スクリプト名は入らない。
$0の中にスクリプト名が入ってる。
./sapmle,pl a b c
####
print $ARGV[0]; # print a
print $0; # print sample.pl

$#ARGV は配列の大きさかと思いきや、一番最後のインデックスが入る。
つまり配列の大きさは $#ARGV + 1 で表す。
./sapmle,pl a b c
####
print $#ARGV + 1; # print 3

<ARGV>とすると、各引数をファイルとして扱う。<>も同じ意味になる。
$ARGVには今扱っているファイルの名前が入る。
./sapmle,pl a.txt b.txt c.txt
####
while(<>) {
  print;  # print lines of files
  print $ARGV; # print current using filename
}