while ( $sth->fetchrow() ) {
push @classes, {
class => $class,
department => $department,
count => $count
};
}
####
@departments = (
{
department => "v6"
classes => [
{
class => "Chemistry",
department => "v6",
count => 18
},
{
class => "German I",
department => "v6",
count => 27
},
etc ...
]
},
{
department => "h4"
classes => [
{
class => "French II",
department => "h4",
count => 9
},
etc ...
]
},
etc ...
);
####
my %departments;
push @{ $departments{ $_->{department} }{classes} }, $_ foreach (@classes);
my @departments = map {
$_->{department} = $_->{classes}[0]{department}; $_
} values %departments;