Uri Guttman has written Sort::Maker (not yet on CPAN) which will help build the different types of sorts for those who want to build them on the fly. He just gave a talk about it at the boston.pm meeting Tuesday and IIRC he's going to be talking about it at YAPC::NA this year. The talk (and some of the module POD also) focuses a bit on when and why you would use the different types of sorts.