我对perl编程完全陌生。请帮我形成一个逻辑。
我在一个目录中有很多文件,例如1.txt
,2.txt
,3.txt
,...,n.txt
。
每个文件都包含此格式的多个数据。 ID列在文件中是唯一的。
ID | Name | Place
1 | name1 | Chennai
2 | name2 | Mumbai
可以更改ID -1可以在不同文件中重复。所以我需要搜索目录中所有文件中的每个ID,并将每个ID的属性写入另一个文件。生成的文件应具有唯一的ID,并且属性应来自具有最新创建日期的文件。
所以BASICALLY结果文件将是ID和属性的主列表。
请帮助这方面。我只能读取文件并选择它并将其放在不同的文件中。谁能帮助我继续前进呢。
非常感谢你提前
答案 0 :(得分:3)
使用带有ID作为键的哈希,并以时间戳顺序将文件中的值存储在该哈希中 这是一个原型:
my %data;
for my $file (sort { -M $a <=> -M $b } @files) {
my @data = process_file($file); # an array of hashrefs like { id => 1, name => "name1", place => 'Chennai' }
$data{$_->{id}} = $_ for @data;
}
然后将散列中的数据存储到文件中。