Skip to content
This repository has been archived by the owner on Dec 4, 2019. It is now read-only.

genome-vendor/Sort-Merge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sort::Merge -- When you need to merge sort.  Anything.  And do
anything with it.

Merge sorting is a technique for merging together multiple input
streams, each of which is sorted, into one larger output stream, still
sorted.  This module implements that algorithm.

Note the large caveat above: the inputs must already be sorted.  If
the inputs aren't sorted, you'll need to sort them yourself first, in
which case a merge sort may not be the right algorithm for the job.

Sort::Merge was designed to give you, the programmer, control over
where your data comes from, and where it goes -- it's simply supposed
to sort it, and not fetch it from files, parse out sort keys, etc,
etc.  There's at least one merge-sorting module already on CPAN,
File::MergeSort, but I wanted one that I could use to sort together
multiple files that were of different formats, and not line-oriented
formats either.

The module I got out doesn't even require that the inputs are files at
all, or that the output gets printed.  It also streams the output, so
you needn't wait until the sort is complete before printing the first
piece of output.  (The fact that this is possible at all is one of
more useful properties of merge sorts vs. other sorts.)

Most (OK, at the moment all) of the available interfaces require you to
write your input and output handlers in terms of coderefs.  If this is
too much work for you, I encourage you to not use this module, or,
alternatively, to propose another interface to me.  I'm actively
looking for more and better interfaces.

About

Unofficial repo for software vendoring or packaging purposes

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages