NAME Number::Extreme - Helper for keeping track of extreme values of objects SYNOPSIS use Number::Extreme; # a bunch of objects with the "high" attribute. my $id = 0; my @objects = map { { id => $id++, high => $_ } } shuffle (1..100); # create a highest-high tracker, which extracts "high" from given objects my $highest_high = Number::Extreme->max(sub { $_->{high} }); # test the values $highest_high->test($_) for @objects; # now you have the highest high warn $highest_high; # and the object of that high warn $highest_high->current->{id}; DESCRIPTION Number::Extreme provides simple utility for a common task: tracking highest or lowest value of an attribute of objects, while keeping track of which object is of the extreme value. METHODS $class->max($extractor) $class->min($extractor) Helper constructors for creating max/min tracker. $extractor takes $_ as the object to be tested, and returns the attribute to be compared. $class->amax($array) $class->amin($array) Helper constructors for tracking max/min values of an arrayref. "test()" should be called with the array index. $obj->test($o) Update the tracker with new incoming object. AUTHOR Chia-liang Kao LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO