Devel::INC::Sorted - Keep your hooks in the begining of @INC
use Devel::INC::Sorted qw(inc_add_floating);
inc_add_floating( \&my_inc_hook );
unshift @INC, \&other_hook;
use lib 'blah';
push @INC, 'foo';
warn $INC[0]; # this is still \&my_inc_hook
warn $INC[3]; # but \&other_hook was moved down to here
This module keeps @INC sorted much like the Tie::Array::Sorted manpage.
The default comparator partitions the members into floating and non floating,
allowing you to easily keep certain hooks in the begining of @INC.
The sort used is a stable one, to make sure that the order of @INC for
unsorted items remains unchanged.
All exports are optional
Add entries to @INC and call inc_float_entry on them.
Mark the arguments as floating (in the internal refhash).
Remove the items from the hash.
Untie @INC, leaving all it's current elements in place. Further
modifications to @INC will not cause resorting to happen.
This module is maintained using Darcs. You can get the latest version from
http://nothingmuch.woobling.org/code, and use darcs send to commit
changes.
Yuval Kogman <nothingmuch@woobling.org>
Copyright (c) 2008 Yuval Kogman. All rights reserved
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.