# PERLFREEBSD(1) - man - phpman

[PERLFREEBSD(1)](https://www.chedong.com/phpMan.php/man/PERLFREEBSD/1/markdown)                    Perl Programmers Reference Guide                    [PERLFREEBSD(1)](https://www.chedong.com/phpMan.php/man/PERLFREEBSD/1/markdown)



## NAME
       perlfreebsd - Perl version 5 on FreeBSD systems

## DESCRIPTION
       This document describes various features of FreeBSD that will affect how Perl version 5
       (hereafter just Perl) is compiled and/or runs.

   **FreeBSD** **core** **dumps** **from** **readdir**___**r** **with** **ithreads**
       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 doesn't always contain a full path in FreeBSD
       perl sets $^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 "sysctl" with "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[0]" value for $^X.

## AUTHOR
       Nicholas Clark <<nick@ccl4.org>>, collating wisdom supplied by Slaven Rezic and Tim Bunce.

       Please report any errors, updates, or suggestions to <<https://github.com/Perl/perl5/issues>>.



perl v5.34.0                                 2025-07-25                               [PERLFREEBSD(1)](https://www.chedong.com/phpMan.php/man/PERLFREEBSD/1/markdown)
