See the current Perl documentation for Sys::Hostname.
Here is our local, out-dated (pre-5.6) version:

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 syscall,
`hostname`, `uname -n`, and the file /com/host. If all that fails it perlgutss.
All nulls, returns, and newlines are removed from the result.
David Sundstrom <sunds@asictest.sc.ti.com>
Texas Instruments