my @numbers = ('0.13', '0.14', '0.14', '0.19', '0.21', '0.23', '0.45'); my %differences = (); for (my $i = 0; $i < scalar(@numbers); $i++) { next if $i == 0; push @{$differences{($numbers[$i] - $numbers[$i - 1])}}, $numbers[$i] . " - " . $numbers[$i - 1]; } foreach (sort keys %differences) { print STDOUT "Difference ($_) occured: ", join (', ', @{$differences{$_}}), "\n" } exit 0;