sub desc_sort_subject {
    $b <=> $a;           # Numeric sort descending
}
sub asc_sort_subject{
    $a <=> $b;           # Numeric sort ascending
}
%courses = (
        "101" => "I",
        "221" => "L",
        "300" => "A",
        "102" => "P",
        "103" => "P",
        "200" => "L",
);

foreach $key (sort asc_sort_subject(keys(%courses))) {
    printf "\t%-5d%s\n", $key, $courses{"$key"};
}
foreach $key (sort desc_sort_subject(keys(%courses))) {
    printf "\t%-5d%s\n", $key, $courses{"$key"};
}
