split_col.pl: Split a file based on a column

This is a script to split a file into multiple files, whose names are
derived from the contents of a certain column in the input and a
user-supplied template.

I've often been given single huge data files containing data for
e.g. 1000s of different proteins. When one only processes a single
protein at a time, it is a lot better to have the data in individual
files than to read the single huge file, keeping only the lines
relevant for the protein one is interested in.

Since there may be 1000s of output files, one needs to handle
EMFILE/ENFILE gracefully. The script maintains the files opened for
writing in an LRU list, closing the least recently used file when
hitting EMFILE/ENFILE. When opening a given file a second time, it is
opened in append mode, so as not to overwrite previously written
content.