创建组并从输入文件中添加对象

时间:2016-08-18 08:33:14

标签: arrays perl

我是perl编程的新手并且热衷于学习它, 我需要从下面的示例文件中提取一些数据。文件内容" test.txt"是多个组和对象,但每行添加。

设置组地址Group1添加XYZ1
设置组地址Group1添加XYZ2
设置组地址Group2添加XYZ1
设置组地址Group2添加XYZ4
设置组地址Group2添加XYZ4
设置组地址Group3添加XYZ5

我需要将上面的内容转换为行,

组名Group1添加成员XYZ1,XYZ2
组名Group2添加成员XYZ1,XYZ4,XYZ5
组名Group1添加成员XYZ4,XYZ5

对我来说,逻辑可以是 1.循环读取数组中的每一行,
2.存储组名并归档变量
3.比较组变量,如果相同的连接字段变量。

如果有人可以纠正逻辑并帮助我,那将非常有帮助。 事先欣赏。

此致

和Sandeep

1 个答案:

答案 0 :(得分:1)

当您使用Perl时,您会听到类似" unique"或"分组" - 很可能它是一个哈希表又称关联数组的工作:

use warnings;
use strict;

my %hash;
while (<>) {
     # .... extract key & value from your data
     $hash{$unique_key} .= " ".$added_value;
}
# ...

foreach (keys %hash) {
    do_something( $_, $hash{$_} );
    # this will be the key and all the 
    # corresponding values combined.
};