#! 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 *** #### cn: groupname1 gid: 122 members: member1 member2 member3 member4 member6 member7 cn: groupname2 gid: 113 members: member1 member2 member3 member4 member6 member7