#!/usr/bin/perl
use strict; # https://perlmonks.org/?node_id=11134376
use warnings;
{
local $/ = 'Associated_Files_Directory:';
while( <DATA> )
{
/.*TEXT:.*?([.\w]+)".*Naming_Technique:.*?(\w+).(\w+)\n/s and
print $. > 1 && "\n", <<END;
[$1]
db_part_no=$2
db_part_rev=$3
END
}
}
__DATA__
&LOG
&LOG TEXT: "C:\temp\xyz.txt"
&LOG Action: DEFAULT
&LOG Naming_Technique: DEFAULT_NAMING Default_Name: @ST/ABC1234/00001
&LOG Container: "current:entity"
&LOG Type: SIMILAR
&LOG Name: ABC-Y
&LOG Description: ABC-Z
&LOG Associated_Files_Directory: ""
&LOG
&LOG TEXT: "C:\temp\PQR.txt"
&LOG Naming_Technique: USER_NAME Default_Name: @ST/ABC9999/00001
&LOG
&LOG
&LOG TEXT: "C:\temp\abc.txt"
&LOG Action: DEFAULT
&LOG Naming_Technique: DEFAULT_NAMING Default_Name: @ST/ABC5678/00001
&LOG Container: "current:entity"
&LOG Type: SIMILAR
&LOG Name: EWQ-Y
&LOG Description: EWQ-Z
&LOG Associated_Files_Directory: ""
&LOG
&LOG TEXT: "C:\temp\rtq.txt"
&LOG Action: DEFAULT
&LOG Naming_Technique: DEFAULT_NAMING Default_Name: @ST/ABC2345/00002
&LOG Container: "current:entity"
&LOG Type: SIMILAR
&LOG Name: ERD-Y
&LOG Description: ERD-Z
&LOG Associated_Files_Directory: ""
&LOG
Outputs:
[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