use warnings; use strict; use List::Util qw( min max ); my @not_normalized = qw(5 4 9 9 6); my @normalized = normalizer(@not_normalized); print "$_\n" for @normalized; sub normalizer { my @not_normalized = @_; my $min_numarray = min @array; my $max_numarray = max @array; my $normalized; my @normalized_list; foreach my $element (@not_normalized){ my $numdiv = $element - $min_numarray; my $numden = $max_numarray - $min_numarray; $normalized = $numdiv / $numden; push @normalized_list, $normalized; } return @normalized_list; } #### 0.2 0 1 1 0.4