perl-5.22.1
$SYSTEM_FD_MAX
$^F

The maximum system file descriptor, ordinarily 2. System file descriptors are passed to exec()ed processes, while higher file descriptors are not. Also, during an open(), system file descriptors are preserved even if the open() fails (ordinary file descriptors are closed before the open() is attempted). The close-on-exec status of a file descriptor will be decided according to the value of $^F when the corresponding file, pipe, or socket was opened, not the time of the exec().

システムが使用するファイル記述子の最大値を示し、通常は 2 です。 システムファイル記述子は、exec() されたプロセスに渡されますが、 それ以降のファイル記述子は渡されません。 また、open() の実行中は、システムファイル記述子は、 たとえ open() が失敗しても、保存されます (通常のファイル記述子は、open() が実行される前にクローズされます)。 ファイル記述子の close-on-exec のステータスは、exec() 時ではなく、 対応するファイル、パイプソケットの open 時の $^F の値によって 決められます。