Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^6: Hash of Hash of Arrays

by voltas (Novice)
on Aug 29, 2016 at 06:41 UTC ( [id://1170675]=note: print w/replies, xml ) Need Help??


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

Replies are listed 'Best First'.
Re^7: Hash of Hash of Arrays
by voltas (Novice) on Aug 29, 2016 at 11:11 UTC
    Thanks much Duyet.. Really appreciate your ur suggestions and for your valuable time. WRT your suggestion I tried modifying your logic to accommodate further new entries into the log file. New values 'DEV' and 'QA' have been added along with the JIRA, like below:
    ------------------------------------------ DEV: COM-1258 Program:Testing Reviewer:Jackie Description:New Entries rev:r145201 ------------------------------------------ QA: COM-9696 Program:Testing Reviewer:Poikla Description:Some random changes rev:r112356 ------------------------------------------ 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
    Below is the modified section in the code:
    my $program = $hash->{Program} || ''; my $jira = $hash->{JIRA} || ''; my $qa = $hash->{QA} || ''; my $dev = $hash->{DEV} || ''; if ( $program && $jira ) { push @{ $data->{ $program }{ $jira }}, $hash; $hash = {}; } elsif ( $program && $qa) { push @{ $data->{ $program }{ $qa}}, $hash; $hash = {}; } elsif ( $program && $dev) { push @{ $data->{ $program }{ $dev}}, $hash; $hash = {}; } } else ... .... ....
    but its unable to display the value in the format you displayed. I'm getting blank output.It cannot read the new entries QA and DEV . Below is the output i'm looking for
    ================================== 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 ***************** DEV ID: COM-1258 ***************** rev => r14521 Reviewer => Jackie foja Description =>New Entries ***************** QA ID: COM-9696 ***************** rev => r112356 Reviewer => Poikla Star Description => Some random changes
    Sorry to test your patience but could you please help me out here . I'm a perl noob , so pls. bear with me.
      I don't understand why you keep adding new stuff to your question. Why not at once? Anyway, you don't have to treat the 'QA' and 'DEV' differently, as it contains COM code just like JIRA:
      # save all stored data if we see dashes line my $program = $hash->{Program} || ''; my $com_code = $hash->{JIRA} || $hash->{QA} || $hash->{DEV} + || ''; if ( $program && $com_code ) { push @{ $data->{ $program }{ $com_code }}, $hash; $hash = {}; }
      If you used the Dumper( $data ), commented out somewhere in the middle of the code, then you would have seen how the data is set. Based on that, you can change the code (after Dumper statement) to display what ever you wanted.

      Good luck.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-04-26 00:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found