http://qs1969.pair.com?node_id=11134395


in reply to Read and Create File

Process the file by logical record. Take advantage of the fixed format.
use strict; use warnings; while ( $_ = do { local $/ = qq(""\n); <> }) { if (/(\w+\.\w+).*Default_Name:\s\@ST\/(\w+)\/(\w+)$/ms) { print "[$1]\n", "db_part_no=$2\n", "db_part_rev=$3\n\n"; } }

Output with input file from OP

>perl szpt9m.pl 11134376.txt [xyz.txt] db_part_no=ABC1234 db_part_rev=00001 [abc.txt] db_part_no=ABC5678 db_part_rev=00001 [rtq.txt] db_part_no=ABC2345 db_part_rev=00002
Bill