Hi perlmongers,
my current problem is the following:
I have a ldif input file from an ldap database, which I want to get the groupnames, guid and members from.
The structure is like this:
<some irrelevant data or the same like downwards> dn: cn=groupname1,dc=domain,dc=com cn: groupname1 gidNumber: 122 memberUid: member1 memberUid: member2 memberUid: member3 memberUid: member4 memberUid: member6 memberUid: member7 userPassword:: Kg== objectClass: top objectClass: posixGroup creatorsName: uid=cyrus,dc=domain,dc=com createTimestamp: 20040408083004Z modifiersName: uid=cyrus,dc=domain,dc=com modifyTimestamp: 20040408083004Z <more irrelevant data or the same like above> dn: cn=groupname2,dc=domain,dc=com cn: groupname2 gidNumber: 113 userPassword:: Kg== objectClass: top objectClass: posixGroup creatorsName: uid=cyrus,dc=domain,dc=com createTimestamp: 20031208140152Z memberUid: member1 memberUid: member2 memberUid: member3 memberUid: member4 memberUid: member6 memberUid: member7 description: some irrelevant description modifiersName: uid=cyrus,dc=domain,dc=com modifyTimestamp: 20040404112251Z <more irrelevant data or the same like above>
Each group of information is separated from the others with an empty line as you can see.
Now I want to regexp across the file and collect from each group of information starting with
dn: cn=<groupname>,dc=domain,dc=com
cn: <groupname><br> gidNumber: <guid><br> memberUid: <membername>
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |