Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^3: Read and Create File

by szpt9m (Novice)
on Jun 30, 2021 at 16:05 UTC ( [id://11134505]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Read and Create File
in thread Read and Create File

Hello, Thanks a lot for your response and is working fine for the fixed format given before. Now I have a situation where I may get somehting like this
&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
Here I do not want PQR.txt and its number ABC9999 in the output. Difference here is that, whenever I have USERNAME after Naming_Technique, i should avoid its .txt and number in the output. So my output remains same as before
[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
could you please help?

Replies are listed 'Best First'.
Re^4: Read and Create File
by tybalt89 (Monsignor) on Jun 30, 2021 at 19:16 UTC

    Ahh, changing requirements in the middle of a contract - usually this requires a negotiation for more money :)

    #!/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 Part: "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
Re^4: Read and Create File
by hippo (Bishop) on Jun 30, 2021 at 17:11 UTC
    could you please help?

    Sure. Which part are you having problems with?


    🦛

Re^4: Read and Create File
by szpt9m (Novice) on Jul 01, 2021 at 07:02 UTC
    I am sorry my mistake. Now I correct the input file.. The one with PQR.txt also starts with TEXT and not Part.
      #!/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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11134505]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (3)
As of 2024-03-29 06:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found