my@id; my $date; my $id; my $keyword; my $mess; my @uniqueid; my %seen; #read the file (PLEASE PROVIDE INPUT FILE PATH) open(hanr,"d:/Log.txt")or die"error $!\n"; #digesting the lines @lines = ; #iterating through the lines foreach $line (@lines) { $line =~ /\[(.+?)\] .* \[(.+?)\] .* \[[^]]+\] \s+ (.*) /x or next ; $id = $2; push (@id , $id); #pushing id to array } #for getting unique user id's foreach $value (@id) { if (! $seen{$value}++ ) { push @uniqueid, $value; } } #OPENING OUTPUT FILE;PROVIDE PATH open (myfile,">D:\\output\\op.txt") or die("error:cannot create $! \n"); foreach $uniquevalue (@uniqueid) { foreach $line (@lines) { $line =~ /\[(.+?)\] .* \[(.+?)\] .* \[[^]]+\] \s+ (.*) /x or next ; $date = $1; $id = $2; $keyword = $3; if($uniquevalue eq $2 && $keyword eq "Orchestration Started"){ print myfile "$date,$id,$keyword \n"; next; } if($uniquevalue eq $2 && $keyword =~/^Input Message/){ print myfile "$date,$id,"."Input Message to P5 \n"; next; } if($uniquevalue eq $2 && $keyword =~ /^TP Service Request/){ print myfile "$date,$id,"."Service Request \n"; next; } if($uniquevalue eq $2 && $keyword =~/^P5 Move request :/ ){ print myfile "$date,$id,"."Move request \n"; next; } if($uniquevalue eq $2 && $keyword =~/^ProcessName:/){ $mess = substr $keyword , 12; print myfile "$date,$id,$mess \n"; next; } if($uniquevalue eq $2 && $keyword =~/^Process Message :/ ){ my $mess = substr $keyword , 17; print myfile "$date,$id,$mess \n"; next; } } }