-$myhost = hostname();
-$mydomain = $myhost;
-$mydomain =~ s/^.*?\.//;
-# This is set here to rescue systems with broken DNS
-$myip = $ENV{'WEBSERVER_IP'} || inet_ntoa(scalar gethostbyname($myhost||'localhost')) || die "Cannot get our own IP address: DNS fault?";
+if ( $myhost = $ENV{WEBSERVER_HOST} || hostname ) {
+ ( $mydomain = $myhost ) =~ s/.*?\.//;
+} else {
+ $myhost = 'localhost';
+ $mydomain = 'localdomain';
+}
+
+unless ( $myip = $ENV{WEBSERVER_IP} ) {
+ my $byname = gethostbyname( $myhost )
+ or die "Could not get the IP address of $myhost, DNS fault? ($!)";
+ $myip = inet_ntoa $byname
+ or die "can't inet_ntoa ($!)";
+}
+
+