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 eventType friendlyName|) ,"\"\n"; }