perlfreebsd - Perl version 5 on FreeBSD systems
This document describes various features of FreeBSD that will affect how Perl version 5 (hereafter just Perl) is compiled and/or runs.
When perl is configured to use ithreads,
it will use re-entrant library calls in preference to non-re-entrant versions.
There is a bug in FreeBSD's
readdir_r function in versions 4.5 and earlier that can cause a SEGV when reading large directories.
A patch for FreeBSD libc is available (see http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631 ) which has been integrated into FreeBSD 4.6.
$^X where possible to a full path by asking the operating system.
On FreeBSD the full path of the perl interpreter is found by using
KERN_PROC_PATHNAME if that is supported,
else by reading the symlink /proc/curproc/file.
FreeBSD 7 and earlier has a bug where either approach sometimes returns an incorrect value (see http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 ).
In these cases perl will fall back to the old behaviour of using C's argv value for
Nicholas Clark <email@example.com>, collating wisdom supplied by Slaven Rezic and Tim Bunce.
Please report any errors, updates, or suggestions to firstname.lastname@example.org.