in reply to Convert Week Of Year to Date

Now that there is some room, a minor rework of that code:

foreach my $week (sort keys %IssuesByWeek) { my $issues=$IssuesByWeek{$week}; print "$week:\n\t", join ("\n\t", map{ "$_ => $issues->{$_}" } ( sort { $issues->{$b} <=> $issues->{$a} } keys %$issues )[0..4] ),"\n"; }

Also using the temporary value makes things a little easier to read later on and also saves on the unecessary extra hash lookups.

---
demerphq

Replies are listed 'Best First'.
Re^2: Convert Week Of Year to Date
by ear (Acolyte) on Feb 01, 2005 at 18:54 UTC
    This is what I ended up with after your original suggestion. A hell of a line of code but it does make a pretty table:
    print OUTPUT "<tr bgcolor=#C0C0C0><td><b>$newdate</b></td><td align=ri +ght>#</td><td align=right>%</td></tr>\n<tr><td>",join ("</td></tr><tr +><td>", map {"<font size=-1>$_</td><td align=right><font size=-1>$IssuesByWeek{$da +te}{$_}</td><td align=right><font size=-1>".int(($IssuesByWeek{$date} +{$_}/$Weeks{$date}) *100)."\%</td>" } (sort {$IssuesByWeek{$date}{$b} <=> $IssuesByWeek{$d +ate}{$a} } keys %{$IssuesByWeek{$date}} )[0..4]),"</tr><tr><td><b><fo +nt size=-1>TOTAL TI CKETS</font></b></td><td align=right>$Weeks{$date}</td></td><tr><td><b +r><b>MACs</b></td><td align=right><br>$MACs{$date}</td><td> </td></tr +>\n";