'Method1' => {
'Name' => 'ABC',
'File' => 'Beta.dat',
'Category' => 'Methods',
'Params' => 'ARGV'
},
'Method2' => {
'Name' => 'MNO',
'File' => 'Alpha.dat',
'Category' => 'Functions',
'Params' => 'ARGV'
},
...
...
...
####
$temp1 = "";
$temp2 = "";
$temp3 = "";
for my $key1 (reverse sort { $myData{$b}{'Category'} cmp $myData{$a}{'Category'}} keys %myData) {
$temp2 = "";
my $categoryCounter=0;
my $category = $myData{$key1}{'Category'};
if($temp1 !~ /$category/i){
$temp1 = $category;
}
for my $key2 (reverse sort {$myData{$b}{'File'} cmp $myData{$a}{'File'}} keys %myData) {
my $fileName = $myData{$key2}{'File'};
if($temp2 !~ /$fileName/i){
$temp2 = $fileName;
}
$temp3 ="";
my $fileCounter = 0;
for my $key3 (reverse sort {$myData{$b}{'Name'} cmp $myData{$a}{'Name'}} keys %myData) {
my $methodNo = $mydata{$key3}{'Name'};
my $fileNameInner = $mydata{$key3}{'File'};
if ($temp3 !~ /$methodNo/i) {
if (($category =~ /$mydata{$key3}{'Category'}/i) && ($fileName =~ /$fileNameInner/i)) {
if($categoryCounter == 0){
print "$category\n";
$categoryCounter++;
}
if($fileCounter == 0){
print "$fileName\n";
$fileCounter++;
}
print "$methodNo\n";
}
$temp3 = $fileNameInner;
}
}
$fileCounter = 0;
}
$categoryCounter = 0;
}