#! perl -slw use strict; my @numbers = (3, 2, 1); my $highest; ## NOTE Perl arrays start from 0 (zero) not 1 (one). for (my $i = 0; $i < @numbers; $i++) { print "Comparing $numbers[$i] with $numbers[$i+1]"; if ($numbers[$i] > $numbers[$i + 1]) { print "Setting \$highest to $numbers[$i]"; $highest = $numbers[$i]; } } print $highest; __END__ #### C:\test>217736 Comparing 3 with 2 Setting $highest to 3 Comparing 2 with 1 Setting $highest to 2 Use of uninitialized value in concatenation (.) or string at C:\test\217736.pl line 8. Comparing 1 with Use of uninitialized value in numeric gt (>) at C:\test\217736.pl line 9. Setting $highest to 1 1