petdance/file-next — pull request #12 by hoelzro (2012-11-22 19:25:51+00:00)
Title: Fix process substitution on BSD

On Linux systems, process substitution (in Bash) is implemented using named pipes.
BSD systems, on the other hand, seems to be implemented using special
files under /dev/fd. According to the bash manual:

Process substitution is supported on systems that support named pipes (FIFOs)
or the /dev/fd method of naming open files. It takes the form of <(list) or
>(list). The process list is run with its input or output connected to a
FIFO or some file in /dev/fd. The name of this file is passed as an
argument to the current command as the result of the expansion. If the
>(list) form is used, writing to the file will provide input for list. If
the <(list) form is used, the file passed as an argument should be read to
obtain the output of list.

This change checks for the latter case so File::Next works properly on
*BSD.