life_1,23032018,a_0300,true,3
life_1,23032018,a_0200,true,4
life_1,23032018,a_0100,true,3
life_1,23032018,c_0300,true,21
life_1,23032018,c_0200,true,21
life_1,23032018,c_0100,true,25
life_1,23032018,d_0300,true,23
life_1,23032018,d_0200,true,21
life_1,23032018,d_0100,true,24
####
201810021569661,23032018
201810021569678,23032018
201810021569685,23032018
201810021569708,23032018
201810021569715,23032018
201810021569722,23032018
201810021569739,23032018
201810021569746,23032018
201810021569753,23032018
201810021569760,23032018
####
Loop tot->3
life_1,201810021569661,a_0300
life_1,201810021569678,a_0300
life_1,201810021569685,a_0300
Loop tot->4
life_1,201810021569661,a_0200
life_1,201810021569678,a_0200
life_1,201810021569685,a_0200
life_1,201810021569739,a_0200
Loop tot->3
life_1,201810021569661,a_0100
life_1,201810021569678,a_0100
life_1,201810021569685,a_0100
####
Loop tot->3
life_1,201810021569661,a_0300
life_1,201810021569678,a_0300
life_1,201810021569685,a_0300
Loop tot->4
life_1,201810021569708,a_0200
life_1,201810021569715,a_0200
life_1,201810021569722,a_0200
life_1,201810021569739,a_0200
Loop tot->3
life_1,201810021569746,a_0100
life_1,201810021569753,a_0100
life_1,201810021569760,a_0100
####
use strict;
use warnings;
use Data::Dumper qw(Dumper);
my $filea = FileA;
my $fileb = FileB;
open ( FA, '<', $filea) || die ( "File $filea Not Found!" );
open ( FB, '<', $fileb) || die ( "File $fileb Not Found!" );
my %ts;
while ( ) {
chomp;
my($ids, $timestamp) = split ",";
push @{ $ts{$timestamp} }, $ids;
}
while ( ) {
chomp;
my($life,$timestamp,$cls,$bool,$tot) = split ",";
print STDERR "Loop tot-> $tot"; scalar ;
for my $ids ( @{ $ts{$timestamp} } ) {
last if $tot-- < 1;
print join(",",$life, $ids, $cls )."\n";
}
}