Hi Monks
I'm trying to figure out how to print unique months in their proper order. I have a Hash of Hashes and I'm storing the unique values into an array, but that may not be the best way to do it in order to achieve my goal, which is to display all the unique months in proper order from my available data...jan,feb,mar, etc.
I'm hoping someone can help with this and maybe even show a better(using less lines of code) way to accomplish this task. My code is as follows.
#!/usr/bin/perl use strict; my %HoH; my $months; my $key; my %seen; my @uniq; my $client; my $Months_count; while (<DATA>) { ($client,$Months_count) = split /\|/, $_; my %by_month = split ' ', $Months_count; $HoH{$client} = \%by_month; } while ( ($client, $months) = each %HoH ) { while (defined ($key = each %$months)) { $seen{$key}++; } @uniq = keys %seen; } print "@uniq\n"; __DATA__ IBM | February 1 March 5 July 4 Oracle| January 3 March 4 April 6 May 5 RedHat | March 2 June 3 August 1
Any help is greatly appreciated!
In reply to How to print months in proper order from array by dirtdog
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |