in reply to how to split file by two new lines (\n\n) and convert it into array

use strict; use warnings; my $fname="file55.txt"; print "additionalInfo00,notificationType,eventType,friendlyName\n"; open my $f,"<",$fname or die "Cannot open $fname : $!"; local $/= "\n\n"; while (my $event =<$f>){ my %info; my @lines = split /\n/,$event; for (@lines){ chomp; next unless my ($k, $v)=/(\S+) = (.+)/; $v=~s/^\s*"//; $v=~s/"?\s*$//; $info{$k} = $v; } $info{additionalInfo00} or next; print "\"", join('","', map {$info{$_}} qw|additionalInfo00 notificationType e +ventType friendlyName|) ,"\"\n"; }
Output:
additionalInfo00,notificationType,eventType,friendlyName "RMServiceState =inService","alarmRaise","communicationsAlarm","B_GSM- +R_N0a.12_N11BSC2.01" "RMServiceState =notInService","alarmRaise","communicationsAlarm","Tra +il_S42.3_S42.6_01"

        "You're only given one little spark of madness. You mustn't lose it."         - Robin Williams