in reply to Split file

You can try something like this.
#!/usr/bin/perl use strict; while (<DATA>) { if (/\.\.DN:\n/ ... /(\w+)\n/ ) { print "$1\n" if $1; } } __DATA__ ..DN: 000044255 ..CB: ..SN: D046H6J5 ..PD: 20091030 ..DD: Friday, October 30, 2009 ..PY: 2009 ..ED: ..DN: 000044254 ..CB: ..SN: D046H6IR ..PD: 20091030 ..DD: Friday, October 30, 2009 ..PY: 2009 ..ED: