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 hate it when things get difficult, so I'll just sell my house and rent cheap instead. - perldigious