use Sort::Key::Maker sort_teams => # keys extraction sub: sub { ( $_->get_wins_total, $_->get_wins_division, $_->get_wins_home, $_->get_runs_scored, $_->get_runs_allowed, $_->get_reg_schedule_id ) }, # key types: qw(-int -int -int -int int int); ... for my $team (sort_teams @{$self->teams}) { ... }