perl内建数组@ARGV perl命令行参数内建数组@ARGV浅析
人气:0想了解perl命令行参数内建数组@ARGV浅析的相关内容吗,在本文为您仔细讲解perl内建数组@ARGV的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:perl,命令行参数,内建数组,@ARGV,下面大家一起来学习吧。
当perl脚本运行时,从命令行上传递给它的参数存储在内建数组@ARGV中,@ARGV是PERL默认用来接收参数的数组,可以有多个参数,$ARGV[0]是表示接收到的第一个参数,$ARGV[1]表示第二个。
使用方法为:
复制代码 代码如下:
perl my.pl $ARGV[0] $ARGV[1]
看一个具体例子:
比如文件1的内容:
复制代码 代码如下:
1320238
1320239
1320239
1320238
1320238
1320238
1320235
1320237
1320239
1320239
1320238
1320238
1320238
1320235
1320237
文件2的内容:
复制代码 代码如下:
102 5709072117805887 4001 1301854
102 5709072117807510 4001 1320292
102 5709072117838653 4001 1301857
102 5709072117814280 4001 1305832
102 5709072117839397 4001 1310673
102 5709072117839335 4001 1311270
102 5709072117807510 4001 1320292
102 5709072117838653 4001 1301857
102 5709072117814280 4001 1305832
102 5709072117839397 4001 1310673
102 5709072117839335 4001 1311270
我想先把文件1的内容读取出来,然后读取文件二的内容,在读取文件2的内容的时候,文件2的最后一列需要包含在上文件1内。
复制代码 代码如下:
[root@localhost ~]$ perl ex.pl 1.txt 2.txt
[root@localhost ~]$ cat ex.pl
#!/usr/bin/perl
use strict;
[root@localhost ~]$ cat ex.pl
#!/usr/bin/perl
use strict;
open(ONE,"$ARGV[0]") or die $!;
open(TWO,"$ARGV[1]") or die $!;
my %hash;
while (<TWO>) {
chomp;
my @line=split;
my $column4=$line[3];
$hash{$column4}=$_;
}
while (<ONE>) {
chomp;
print $hash{$_} if defined $hash{$_};
}
print"\n";
加载全部内容