sub show { my ($order, $option) = @_; if ($option eq 'rank_title' && $order eq 'ascending') { &display_rank('Leader'); &display_rank('Chairman'); &display_rank('Lieutenant'); &display_rank('Veteran'); &display_rank('Rookie'); } elsif ($option eq 'rank_title' && $order eq 'descending') { &display_rank('Rookie'); &display_rank('Veteran'); &display_rank('Lieutenant'); &display_rank('Chairman'); &display_rank('Leader'); } elsif ($option eq 'username') { my $user; if ($option eq 'ascending') { $hoa{$user}{$a} <=> $hoa{$user}{$b}; } elsif ($option eq 'descending') { $hoa{$user}{$b} <=> $hoa{$user}{$a}; } } else { &display($order, $option); } }