The Perl Advent Calendar needs more articles for 2022. Submit your idea today!


Sys::Hostname - Try every conceivable way to get hostname


    use Sys::Hostname;
    $host = hostname;


Attempts several methods of getting the system hostname and then caches the result. It tries the first available of the C library's gethostname(), `$Config{aphostname}`, uname(2), syscall(SYS_gethostname), `hostname`, `uname -n`, and the file /com/host. If all that fails it croaks.

All NULs, returns, and newlines are removed from the result.


David Sundstrom <>

Texas Instruments

XS code added by Greg Bacon <>