Tie::Array::Sorted::Lazy - An array which is kept sorted
use Tie::Array::Sorted::Lazy;
tie @a, "Tie::Array::Sorted::Lazy", sub { $_[0] <=> $_[1] };
push @a, 10, 4, 7, 3, 4;
print "@a"; # "3 4 4 7 10"
This is a version Tie::Array::Sorted optimised for arrays which are stored to
more often than fetching. In this case the array is resorted on retrieval,
rather than insertion. (It only re-sorts if data has been modified since the
last sort).
tie @a, "Tie::Array::Sorted::Lazy", sub { -s $_[0] <=> -s $_[1] };