Perl的参数讨论

Arguments and Other Special Variables

Arguments are the values you pass to a Perl script. Each value on the command line afterthe name of the script will be assigned to the special variables $ARGV[0], $ARGV[1],$ARGV[2], and so on. The number of arguments passed to the script is stored in the$#ARGV variable, and the full argument string is in the variable @ARGV. The name ofthe currently running program is stored in the $0 variable.

Let's try some examples working with arguments and other special variables. Create anexecutable script called testvars.pl containing these lines:

#!/usr/bin/perl
print "My name is $0 \n";
print "First arg is: $ARGV[0] \n";
print "Second arg is: $ARGV[1] \n";
print "Third arg is: $ARGV[2] \n";
$num = $#ARGV + 1; print "How many args? $num \n";
print "The full argument string was: @ARGV \n";

Now if you run this script, here's what you'll see:

$ ./testvars dogs can whistle
My name is testvars.pl
First arg is: dogs
Second arg is: can
Third arg is: whistle
How many args? 3
The full argument string was: dogs can whistle

Just a few notes about that example. I did say that the $#ARGV variable contained thenumber of arguments, but I lied--sort of. Since the arguments are numbered starting atzero, you have to add one to the value of $#ARGV to get the actual number ofarguments. It's a bit weird, but if you're a fan of the C language, it'll all seem quitenormal.

Also note that the @ARGV variable doesn't start with a dollar sign. That's because it'san array variable, as opposed to the regular scalar variables we've worked with so far.An array can be thought of as a list of values, where each value is addressed by a scalar(dollar sign) variable and an index number in square brackets, as in $ARGV[0],$ARGV[1], and so on. Don't worry too much about arrays for now--that's a topic formore study on your own.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值