local $/ = ","; my $dn = ""; while(<>) { my $complete_dn; if(m/ \A (.+ = .+) \n ( \w+ = .+ ,) \z /sx) { $complete_dn = $dn . $1; $dn = $2; } else { $dn .= $_; } if($_ = $complete_dn) { s/\n+//g; print $_, "\n"; } }