#! perl -w $/ = ""; # paragraph mode while() { if(/^dn:/) { # skip irrelevant paragraphs my($cn) = /^cn:\s*(.*)/m; my($gid) = /^gidNumber:\s*(\d+)/m; my(@member) = /^memberUid:\s*(.+)/mg; print "cn: $cn\ngid: $gid\nmembers: @member\n\n"; } } __DATA__ *** Your sample data follows ***