FileCache - keep more files open than the system permits
cacheout $path; print $path @data;
cacheout function will make sure that there's a filehandle open for writing available as the pathname you give it. It automatically closes and re-opens files if you exceed your system file descriptor maximum.
sys/param.h lies with its
NOFILE define on some systems, so you may have to set $cacheout::maxopen yourself.