in reply to Interchanging hash values

There are a couple of ways you can improve on this. First, you can access the last element of an array by using the index -1. I.e.
$sort[scalar @sort - 1] == $sort[-1];
Also, you can swap the values of two variables without a temporary variable in the middle:
($a, $b) = ($b, $a); # swap the values of $a and $b
So your code can be rewritten like so:
#!/usr/bin/perl -w use strict; use Data::Dumper; my %hash = (Matt => 24, Dana => 19, Eric => 28, Sara => 20, John => 17, Mike => 23,); print Dumper \%hash; my @sort = sort {$hash{$a} <=> $hash{$b}} keys %hash; ($hash{$sort[0]}, $hash{$sort[-1]}) = ($hash{$sort[-1]}, $hash{$sort[0]}); print Dumper \%hash;