Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^3: Hash of Hash of Arrays

by voltas (Novice)
on Aug 25, 2016 at 10:12 UTC ( #1170401=note: print w/replies, xml ) Need Help??

in reply to Re^2: Hash of Hash of Arrays
in thread Hash of Hash of Arrays

Appreciate your response, shared the entire details. My log file is below:
JIRA: COM-1234 Program:Development Reviewer:John Wick Description:Genral fix rev:r345676 ------------------------------------------ JIRA:COM-1234 Program:Development Reviewer:None Description:Updating Received rev:r909276 ------------------------------------------ JIRA: COM-6789 Program:Testing Reviewer:Balise Mat Description:Audited rev:r876391 ------------------------------------------ JIRA: COM-6789 Program:Testing Reviewer:Chan Joe Description:SO hwat rev:r698392 ------------------------------------------ JIRA: COM-6789 Program:Testing Reviewer:Chan Joe Description:Paid the Due rev:r327896 ------------------------------------------
My incomplete code is below.
#!/usr/bin/perl use strict; use warnings; use 5.010; use Data::Dumper; my @records = do { local $/ = '------------------------------'; <>; }; chomp @records; my %jira; foreach (@records) { next unless /\S/; my %rec = /^(\w+):\s*(.+?)$/mg; push @{$jira{$rec{Program}}{$rec{JIRA}}}, \%rec; } #say Dumper \%jira; foreach $prg (keys %jira) { print "=========================================================== +=\n"; print " PROGRAM : prg + \n"; print "=========================================================== +=\n"; foreach $jira (keys %{$jira{$prg}}) { print "******************\n"; print "JIRA ID : $jira\n"; print "******************\n"; @myarr = @{$jira{$prg}{$jira}}; foreach $val (@myarr) { for $i ( 0 .. $#myarr ) { print "NO:$i\n"; foreach $key (keys %{$myarr[$i]}) { #print "KEY: $key\n"; print " ======> $val[$i]{revision}\n"; } } } } }
What I'm trying to accomplish is to read the log file and print the output in the below format.
================================== Program: Development =================================== ***************** JIRA ID: COM 1234 ***************** rev => r345676 Reviewer => John Wick Description => Genral fix rev => r909276 Description => Updating Received Reviewer => None ================================== Program: Testing =================================== ***************** JIRA ID: COM 6789 ***************** rev => r876391 Description => Audited Reviewer => Balise Mat rev => r698392 Reviewer => Chan Joe Description => SO hwat rev => r327896 Reviewer' => Chan Joe Description' => Paid the Due
I'm able to print the unique Program & JIRA ID but the revision, Reviewer and Description values are getting displayed multiple times for every single JIRA ID. Looking forward for your suggestions.Thanks much.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2020-03-29 22:30 GMT
Find Nodes?
    Voting Booth?
    To "Disagree to disagree" means to:

    Results (171 votes). Check out past polls.