作者windincloud (快來約我聊天吧~)
看板Perl
標題Re: [問題] 請問$ARGV的意義或用法
時間Tue Oct 13 20:18:29 2009
※ 引述《f91jacky (愛撫久)》之銘言:
: 小弟我看網路上有 $ARGV[0] 的都看不太懂
: 所以想 請教各位 $ARGV[0] 、$ARGV[1] .. 為何涵義?
: 或是 有沒有例子可以舉一下
: 謝謝!
$ARGV 這稱之為命令列參數
以往在寫程式時我們多採用互動式輸入
ex. kg轉pb
#!/bin/perl
print "input KG:";
chomp ($kg=<STDIN>);
print $kg." KG = ".($kg/0.454)." pb\n";
所執行的結果為
#XXX@host> kg2pb.pl
input KG: 10
10 KG = 22.0264317180617 pb
現在要是改採$ARGV的寫法
#!/bin/perl
print $ARGV[0]." KG = ".($ARGV[0]/0.454)." pb\n";
所執行的結果為
#XXX@host>kg2pb.pl 10
10 KG = 22.0264317180617 pb
這時$ARGV[0]就是接受到命令列參數10
若你打kg2pb.pl 10 20 30
那這樣$ARGV[0] = 10; $ARGV[1] = 20; .....以此類推
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.53.115
推 f91jacky:挖屋~謝謝這位大大 10/13 21:41
→ ericosur:可以順便學一下 getopt 怎麼用... 10/14 11:23
推 kornelius:可看看 GetOpt::Long 10/18 23:54
→ kornelius:不過我比較常只寫 shift , 他會自動指向 @ARGV 10/18 23:54