exercism-perl5

Repository for my Perl 5 Exercism exercises
git clone git://git.samirparikh.com/exercism-perl5
Log | Files | Refs | README

GradeSchool.pm (524B) - raw


      1 package GradeSchool;
      2 use strict;
      3 use warnings;
      4 use Exporter qw<import>;
      5 our @EXPORT_OK = qw<roster>;
      6 
      7 sub roster {
      8   my ( $students, $grade ) = @_;
      9   my @roster;
     10   my %student_by_grade;
     11   foreach my $student (@{ $students }) {
     12       push @{ $student_by_grade{$student->[1]} } => $student->[0];
     13   }
     14   foreach my $student_grade (sort keys %student_by_grade) {
     15       if (not defined $grade or $student_grade == $grade) {
     16         push @roster => sort @{ $student_by_grade{$student_grade} };
     17       }
     18   }
     19   return \@roster;
     20 }
     21 
     22 1;