Perl中的ARGV,怎么看看不懂,谁能言简意赅的解释一下。谢谢。
答案:3 悬赏:30 手机版
解决时间 2021-02-09 19:50
- 提问者网友:捧腹剧
- 2021-02-08 20:02
Perl中的ARGV,怎么看看不懂,谁能言简意赅的解释一下。谢谢。
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-02-08 21:19
经常用在以下两处:
脚本外部传参
#!/usr/bin/env perl
my ($first, $second, $third) = ($ARGV[0], $ARGV[1], $ARGV[2]);
print "first : $first, second: $second, third: $third
";输入:
perl test.pl a b c输出:
first : a, second: b, third: c 2. 更方便地修改文件
假设某个名叫sample.txt的文件如下:
#hello world
hello ruby
#hello hadoop
hello python
hello perl下面我要删除掉注释行(带有'#')的行,则可以写如下的代码:
#!/usr/bin/env perl
use strict;
my $file1 = 'sample.txt';
push @ARGV, $file1;
do {
local $^I = '.bak';
while(<>){
print $_ unless /^#/;
}
}‘sample.txt'放在上面脚本所在的目录,执行:
perl test.pl则会在原文件的基础上修改之,修改后的结果为:
hello ruby
hello python
hello perl这是perl里很重要的一个技巧。为了防止修改错误,我一般在修改时会顺便生成一个原文件的副本,副本文件名为"sample.txt.bak" ,保存副本的相关代码如下:
local $^I = '.bak';以上两处基本上就是常用的ARGV的地方了。
脚本外部传参
#!/usr/bin/env perl
my ($first, $second, $third) = ($ARGV[0], $ARGV[1], $ARGV[2]);
print "first : $first, second: $second, third: $third
";输入:
perl test.pl a b c输出:
first : a, second: b, third: c 2. 更方便地修改文件
假设某个名叫sample.txt的文件如下:
#hello world
hello ruby
#hello hadoop
hello python
hello perl下面我要删除掉注释行(带有'#')的行,则可以写如下的代码:
#!/usr/bin/env perl
use strict;
my $file1 = 'sample.txt';
push @ARGV, $file1;
do {
local $^I = '.bak';
while(<>){
print $_ unless /^#/;
}
}‘sample.txt'放在上面脚本所在的目录,执行:
perl test.pl则会在原文件的基础上修改之,修改后的结果为:
hello ruby
hello python
hello perl这是perl里很重要的一个技巧。为了防止修改错误,我一般在修改时会顺便生成一个原文件的副本,副本文件名为"sample.txt.bak" ,保存副本的相关代码如下:
local $^I = '.bak';以上两处基本上就是常用的ARGV的地方了。
全部回答
- 1楼网友:傲气稳了全场
- 2021-02-08 23:11
真是没话说,书中写的多清楚,不看书,来百度问,真是无语追问初学者,看了很多遍,始终看不懂。
- 2楼网友:毛毛
- 2021-02-08 22:34
把@ARGV看为一个数组
该数组里面存的是命令行参数,第一个命名为$ARGV[0],第二个为$ARGV[1],依次类推
举例
test.pl a 1 b 2 c 3
a=$ARGV[0];
b=$ARGV[2];
c=$ARGV[4];
1=$ARGV[1];
2=$ARGV[3];
3=$ARGV[5];
希望对你有帮助~
该数组里面存的是命令行参数,第一个命名为$ARGV[0],第二个为$ARGV[1],依次类推
举例
test.pl a 1 b 2 c 3
a=$ARGV[0];
b=$ARGV[2];
c=$ARGV[4];
1=$ARGV[1];
2=$ARGV[3];
3=$ARGV[5];
希望对你有帮助~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯