perl命令行参数内建数组@ARGV浅析

作者:junjie 时间:2022-11-04 06:58:47 

当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";

标签:perl,命令行,内建数组,@ARGV
0
投稿

猜你喜欢

  • 如何在CocosCreator中做一个List

    2024-04-28 09:46:04
  • Python实现提取Excel指定关键词的行数据

    2022-09-01 10:15:59
  • python实现批量图片格式转换

    2021-07-15 16:07:42
  • Pytorch中torch.nn.Softmax的dim参数用法说明

    2023-08-28 04:20:10
  • 深入理解Python中range和xrange的区别

    2023-06-22 06:10:09
  • python全栈要学什么 python全栈学习路线

    2023-07-03 17:55:19
  • python匿名函数lambda原理及实例解析

    2023-01-05 02:55:07
  • Python 函数绘图及函数图像微分与积分

    2021-07-13 22:53:14
  • python+numpy实现的基本矩阵操作示例

    2023-07-16 13:52:37
  • 使用 pytorch 创建神经网络拟合sin函数的实现

    2023-02-04 03:31:40
  • python 如何在测试中使用 Mock

    2022-01-08 07:41:09
  • Django中文件上传和文件访问微项目的方法

    2021-04-15 10:44:45
  • Python Cookie 读取和保存方法

    2021-01-21 15:57:51
  • python中的[1:]、[::-1]、X[:,m:n]和X[1,:]的使用

    2023-12-10 00:48:42
  • 不同操作系统下的mysql数据库同步

    2008-12-22 14:41:00
  • php flv视频时间获取函数

    2023-09-04 13:41:48
  • pytorch 实现查看网络中的参数

    2023-10-28 22:08:37
  • python 监控服务器是否有人远程登录(详细思路+代码)

    2022-05-16 04:08:26
  • 浅谈Golang的方法传递值应该注意的地方

    2024-02-12 07:40:20
  • PyQT实现多窗口切换

    2023-04-14 02:40:32
  • asp之家 网络编程 m.aspxhome.com