in reply to Re^2: Ulimit being reached
in thread Ulimit being reached

You should always use low precedence or (in preference to ||) with the "or die" idiom. Also, you should normally avoid parens when calling print, so this is the recommended way to write it:

print OUT $line or die "writing 'splat' $!";
For a working example, see my reply below.

Update: further notice that lexical file handles (e.g. $fh in my reply below) are preferred to the old global file handles (e.g. OUT in your example code).