Y'know,
Sort::External is designed for
exactly what the original poster wants to do... but few people seem to find it on CPAN.
Sort::External was my first CPAN distro, and the people on the modules mailing list prevailed upon me to release it it under the academically correct name. I occasionally regret having taken that advice.
FWIW, here's the definition of "external sort" from nist.gov:
Any sort algorithm that uses external memory, such as tape or disk, during the sort. Since most common sort algorithms assume high-speed random access to all intermediate memory, they are unsuitable if the values to be sorted don't fit in main memory.