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
文件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
我想先把文件1的内容读取出来,然后读取文件二的内容,在读取文件2的内容的时候,文件2的最后一列需要包含在上文件1内。
代码如下:
[root@localhost ~]$ perl ex.pl 1.txt 2.txt [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";
相关推荐
边城客栈学无止境 2020-07-05
Walter的学习笔记 2020-07-04
A宇 2020-06-14
边城客栈学无止境 2020-06-10
邓博学习笔记 2020-06-03
davidliu00 2020-05-26
ShiShuo 2020-05-16
Aggressivesnail 2020-05-10
ShiShuo 2020-04-26
hanxingwang00 2020-04-22
davidliu00 2020-03-06
ShiShuo 2020-03-06
ShiShuo 2020-03-05
Aggressivesnail 2020-02-28
aaLiweipeng 2020-02-01
amberom 2020-01-16
Walter的学习笔记 2020-01-06