You win the prize sir! My ability to find modules leaves a lot to be desired, but I just knew something this common must exist. That said, I have always loathed object oriented code (I'm still bad at that too).
use strict;
use warnings;
use Normalize;
my @not_normalized = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
my @are_normalized = @not_normalized;
my $norm = Normalize->new();
$norm->normalize_to_max(\@are_normalized);
printf "%.2f ", $_ foreach (@not_normalized);
print "\n@are_normalized\n";
UPDATE: I do get the module to come up right away of course when I search CPAN for "normalize", but I originally tried Googling "cpan normalize array" and that doesn't seem to get anywhere close. Also, I still don't understand for the life of me why I need to call the constructor for a new object just so I can use a method of that object on the array like I do here. Certainly I'm just ignorant when it comes to object oriented code, there must be a way to use the method without actually having to create an object, or to otherwise use an "anonymous" object method call if that's even the right terminology. Did I mention I loathe (a.k.a. need to learn better) object oriented code? :-)
I love it when things get difficult; after all, difficult pays the mortgage. - Dr. Keith Whites
I hate it when things get difficult, so I'll just sell my house and rent cheap instead. - perldigious
|