use strict;
use warnings;
open OUTPUT, '>', 'output.txt' or die;
my @record;
my $uid_flag = 0;
while (<DATA>){
chomp;
unless ( /^$/ ){
push @record, $_;
$uid_flag++ if /^uid/;
}
else{
for ( @record ){
print OUTPUT "$_\n";
if ( /^cn/ and ! $uid_flag ){
my ( $field, $value ) = split ':';
print OUTPUT "uid:$value\n";
}
}
@record = ();
$uid_flag = 0;
print OUTPUT "\n";
}
}
close OUTPUT;
__DATA__
dn: cn=MTOP,cn=users,dc=myco,dc=com
orcldefaultprofilegroup: cn=myco,cn=portal_groups,cn=groups,dc=myco,dc
+=com
cn: MTOP
orclactivestartdate: 20031028060637Z
objectclass: top
objectclass: person
objectclass: inetOrgPerson
objectclass: organizationalPerson
objectclass: orclUser
objectclass: orclUserV2
sn: Joe
givenname: Blow
o: myo
userpassword: {MD4}oLezu+AceuHBDEBHFuVDwg==
dn: cn=me,cn=users,dc=polk,dc=com
orcldefaultprofilegroup: cn=user_grp,cn=portal_groups,cn=groups,dc=myc
+o,dc=com
userpassword: {MD4}oLezu+AceuHBDEBHFuVDwg==
orclactivestartdate: 20031030114555Z
objectclass: top
objectclass: person
objectclass: inetOrgPerson
objectclass: organizationalPerson
objectclass: orclUser
objectclass: orclUserV2
cn: me
uid: me
sn: Administrator
givenname: me
o: myco
Produces...
dn: cn=MTOP,cn=users,dc=myco,dc=com
orcldefaultprofilegroup: cn=myco,cn=portal_groups,cn=groups,dc=myco,dc
+=com
cn: MTOP
uid: MTOP
orclactivestartdate: 20031028060637Z
objectclass: top
objectclass: person
objectclass: inetOrgPerson
objectclass: organizationalPerson
objectclass: orclUser
objectclass: orclUserV2
sn: Joe
givenname: Blow
o: myo
userpassword: {MD4}oLezu+AceuHBDEBHFuVDwg==
dn: cn=me,cn=users,dc=polk,dc=com
orcldefaultprofilegroup: cn=user_grp,cn=portal_groups,cn=groups,dc=myc
+o,dc=com
userpassword: {MD4}oLezu+AceuHBDEBHFuVDwg==
orclactivestartdate: 20031030114555Z
objectclass: top
objectclass: person
objectclass: inetOrgPerson
objectclass: organizationalPerson
objectclass: orclUser
objectclass: orclUserV2
cn: me
uid: me
sn: Administrator
givenname: me
o: myco
|