作者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
1F:推 f91jacky:挖屋~谢谢这位大大 10/13 21:41
2F:→ ericosur:可以顺便学一下 getopt 怎麽用... 10/14 11:23
3F:推 kornelius:可看看 GetOpt::Long 10/18 23:54
4F:→ kornelius:不过我比较常只写 shift , 他会自动指向 @ARGV 10/18 23:54