in reply to Passing input through a hash then displaying results

You could use a neat little table

print $_, $_ > 90 ? 'A' : $_ > 80 ? 'B' : $_ > 70 ? 'C' : $_ > 60 ? 'D' : 'F' , "\n" for 89,90,91, 80, 70 , 50;

and if you wanted a hash, you could simply

my %grade_for = map { $_ => $_ > 90 ? 'A' : $_ > 80 ? 'B' : $_ > 70 ? 'C' : $_ > 60 ? 'D' : 'F' } for 0..100;
... later
$student_name = 'f00li5h'; $student_score = 61; print "$student_name scored $grade_for{$student_score}!"
here I've used map to create a lookup. My %grade_for is the same as your %scores, although perhaps an array would have worked just as well here (due to the non-sparse numeric keys)

f00li5h nudges the grammar

@_=qw; ask f00li5h to appear and remain for a moment of pretend better than a lifetime;;s;;@_[map hex,split'',B204316D8C2A4516DE];;y/05/os/&print;