=> [ 'Testing
{
', 'JIRA' => 'COM-6789
', 'Program' => 'Testing
', 'rev' => 'r876391
', 'Reviewer' => 'Balise Mat
' 'Description' => 'Audited
},
{
', 'Program' => 'Testing
', 'rev' => 'r698392
', 'Reviewer' => 'Chan Joe
', 'JIRA' => 'COM-6789
' 'Description' => 'SO hwat
},
{
', 'JIRA' => 'COM-6789
', 'Reviewer' => 'Chan Joe
', 'Program' => 'Testing
', 'rev' => 'r327896
' 'Description' => 'Paid the Due
}
],
' => [ 'Development
{
', 'JIRA' => 'COM-1234
', 'Reviewer' => 'John Wick
', 'rev' => 'r345676
', 'Program' => 'Development
' 'Description' => 'Genral fix
},
{
', 'Program' => 'Development
', 'rev' => 'r909276
', 'Reviewer' => 'None
', 'JIRA' => 'COM-1234
' 'Description' => 'Updating Received
}
],
####
'Development
{ COM-1234 {
', 'JIRA' => 'COM-1234
', 'Reviewer' => 'John Wick
', 'rev' => 'r345676
', 'Program' => 'Development
' 'Description' => 'Genral fix
},
{
', 'Program' => 'Development
', 'rev' => 'r909276
', 'Reviewer' => 'None
', 'JIRA' => 'COM-1234
' 'Description' => 'Updating Received
}
},
],
####
#!/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{JIRA}}}, \%rec;
}
say Dumper \%jira;
my %prog
foreach (@records) {
next unless /\S/;
my %rec = /^(\w+):\s*(.+?)$/mg;
push @{$jira{$rec{Program}}}, \%rec;
}
say Dumper \%prog;