# Sys::Hostname::Long - phpMan

## NAME
    [Sys::Hostname::Long] - Try every conceivable way to get full hostname

## SYNOPSIS
        use [Sys::Hostname::Long];
        $host_long = hostname_long;

## DESCRIPTION
    How to get the host full name in perl on multiple operating systems
    (mac, windows, unix* etc)

## DISCUSSION
    This is the SECOND release of this code. It has an improved set of tests
    and improved interfaces - but it is still often failing to get a full
    host name. This of course is the reason I wrote the module, it is
    difficult to get full host names accurately on each system. On some
    systems (eg: Linux) it is dependent on the order of the entries in
    /etc/hosts.

    To make it easier to test I have testall.pl to generate an output list
    of all methods. Thus even if the logic is incorrect, it may be possible
    to get the full name.

    Attempt via many methods to get the systems full name. The [Sys::Hostname]
    class is the best and standard way to get the system hostname. However
    it is missing the long hostname.

    Special thanks to David Sundstrom and Greg Bacon for the original
    [Sys::Hostname]

## SUPPORT
    This is the original list of platforms tested.

            MacOS           Macintosh Classic               OK
            Win32           MS Windows (95,98,nt,2000...)
                            98                              OK
            MacOS X         Macintosh 10                    OK
                            (other darwin)                  Probably OK (not tested)
            Linux           Linux UNIX OS                   OK
                            Sparc                           OK
            HPUX            H.P. Unix 10?                   Not Tested
            Solaris         SUN Solaris 7?                  OK (now)
            Irix            SGI Irix 5?                     Not Tested
            FreeBSD         FreeBSD                         OK

    A new list has now been compiled of all the operating systems so that I
    can individually keep information on their success.

    THIS IS IN NEED OF AN UPDATE AFTER NEXT RELEASE.

    Acorn - Not yet tested
    AIX - Not yet tested
    Amiga - Not yet tested
    Atari - Not yet tested
    AtheOS - Not yet tested
    BeOS - Not yet tested
    BSD - Not yet tested
    BSD/OS - Not yet tested
    Compaq - Not yet tested
    Cygwin - Not yet tested
    Concurrent - Not yet tested
    DG/UX - Not yet tested
    Digital - Not yet tested
    DEC OSF/1 - Not yet tested
    Digital UNIX - Not yet tested
    DYNIX/ptx - Not yet tested
    EPOC - Not yet tested
    FreeBSD - Not yet tested
    Fujitsu-Siemens - Not yet tested
    Guardian - Not yet tested
    HP - Not yet tested
    HP-UX - Not yet tested
    IBM - Not yet tested
    IRIX - Not yet tested - 3rd hand information might be ok.
    Japanese - Not yet tested
    JPerl - Not yet tested
    Linux

        Debian - Not yet tested
        Gentoo - Not yet tested
        Mandrake - Not yet tested
        Red Hat- Not yet tested
        Slackware - Not yet tested
        SuSe - Not yet tested
        Yellowdog - Not yet tested

    LynxOS - Not yet tested
    Mac OS - Not yet tested
    Mac OS X - OK 20040315 (v1.1)
    MachTen - Not yet tested
    Minix - Not yet tested
    MinGW - Not yet tested
    MiNT - Not yet tested
    MPE/iX - Not yet tested
    MS-DOS - Not yet tested
    MVS - Not yet tested
    NetBSD - Not yet tested
    NetWare - Not yet tested
    NEWS-OS - Not yet tested
    NextStep - Not yet tested
    Novell - Not yet tested
    NonStop - Not yet tested
    NonStop-UX - Not yet tested
    OpenBSD - Not yet tested
    ODT - Not yet tested
    OpenVMS - Not yet tested
    Open UNIX - Not yet tested
    OS/2 - Not yet tested
    OS/390 - Not yet tested
    OS/400 - Not yet tested
    OSF/1 - Not yet tested
    OSR - Not yet tested
    Plan 9 - Not yet tested
    Pocket PC - Not yet tested
    PowerMAX - Not yet tested
    Psion - Not yet tested
    QNX

        4 - Not yet tested
        6 (Neutrino) - Not yet tested

    Reliant UNIX - Not yet tested
    RISCOS - Not yet tested
    SCO - Not yet tested
    SGI - Not yet tested
    Symbian - Not yet tested
    Sequent - Not yet tested
    Siemens - Not yet tested
    SINIX - Not yet tested
    Solaris - Not yet tested
    SONY - Not yet tested
    Sun - Not yet tested
    Stratus - Not yet tested
    Tandem - Not yet tested
    Tru64 - Not yet tested
    Ultrix - Not yet tested
    UNIX - Not yet tested
    U/WIN - Not yet tested
    Unixware - Not yet tested
    VMS - Not yet tested
    VOS - Not yet tested
    Windows

        CE - Not yet tested
        3.1 - Not yet tested
        95 - Not yet tested
        98 - Not yet tested
        Me - Not yet tested
        NT - Not yet tested
        2000 - Not yet tested
        XP - Not yet tested

    z/OS - Not yet tested

## KNOWN LIMITATIONS
  Unix
    Most unix systems have trouble working out the fully qualified domain
    name as it to be configured somewhere in the system correctly. For
    example in most linux systems (debian, ?) the fully qualified name
    should be the first entry next to the ip number in /etc/hosts

            192.168.0.1     fred.somwhere.special   fred

    If it is the other way around, it will fail.

  Mac
## TODO
    Contributions

            David Dick
            Graeme Hart
            Piotr Klaban

            * Extra code from G
            * Dispatch table
            * List of all operating systems.

    Solaris * Fall back 2 - TCP with DNS works ok * Also can read
    /etc/defaultdomain file

## SEE ALSO
            L<[Sys::Hostname]>

## AUTHOR
    Originally by Scott Penrose <<scottp@dd.com.au>>

    Contributions: Michiel Beijen <<michiel.beijen@gmail.com>>

## COPYRIGHT
    Copyright (c) 2001,2004,2005,2015 Scott Penrose. All rights reserved.
    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

