Der Hostname ist die eindeutige Bezeichnung eines Rechners in einem Netzwerk. Meist wird ein Fully Qualified Domain Name (FQDN) als Hostname verwendet. Bei Rechnern in einem LAN wird allerdings manchmal auch der Domain-Teil (hostdomain) weggelassen und nur der lokale Part (hostname) verwendet.
Die Ermittlung des Hostnamens ist nicht immer einfach, daher verwenden die beiden nachfolgend vorgestellen Module intern zahlreiche Methoden, um den Hostnamen herauszufinden.
Sys::Hostname
Sys::Hostname von David Sundstrom, seit Perl 5.6 Bestandteil der Standard-Distribution, stellt eine Funktion bereit: hostname().
#!/usr/bin/perl use strict; use warnings; use Sys::Hostname; print hostname(), "\n";
Das Programm liefert z.B. folgende Ausgabe:
server.example.net
oder auch einfach
server
Net::Domain
Net::Domain, seit Perl 5.73 Bestandteil der Standard-Distribution, von Graham Barr verwendet intern deutlich mehr Methoden als Sys::Hostname, um den FQDN des aktuellen Hosts zu ermittlen. Weiterhin werden auch Funktionen bereitgestellt, um den lokalen bzw. Domain-Teil zu ermitteln.
- hostfqdn (): liefert den FQDN des aktuellen Hosts
- domainname (): Ein Alias für hostfqdn
- hostname (): liefert den lokalen Teil des FQDN
- hostdomain (): liefert den Domain-Teil des FQDN
#!/usr/bin/perl use strict; use warnings; use Net::Domain qw(hostname hostfqdn hostdomain); print "Host FQDN: ", hostfqdn , "\n"; print "Hostname: ", hostname , "\n"; print "Hostdomain: ", hostdomain , "\n";
Das Programm liefert z.B. folgende Ausgabe:
Host FQDN: server.example.net Hostname: server Hostdomain: example.net
Siehe auch
- Perldoc: perlfaq9
- Perldoc: Sys::Hostname
- The 2004 Perl Advent Calendar: Sys::Hostname
- Perldoc: Net::Domain
- CPAN: Sys::Hostname::Long
- Wikipedia: Hostname
- Wikipedia: Domain
Leider ist zumindest Net::Domain::hostfqdn ziemlich kaputt. Siehe dazu auch RT#60729 (https://rt.cpan.org/Ticket/Display.html?id=60729).
Sys::Hostname::FQDN scheint eine brauchbare Alternative zu sein.
Danke für den Hinweis. Ich schaue mir Sys::Hostname::FQDN gerne ein Mal an.