This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
More networking negativity.
[perl5.git] / pod / perlport.pod
index 74cf721..c04528b 100644 (file)
@@ -497,19 +497,28 @@ to the public Internet.
 Don't assume that you can reach outside world through any other port
 than 80, or some web proxy.  ftp is blocked by many firewalls.
 
+Don't assume that you can send email by connecting to the local SMTP port.
+
 Don't assume that you can reach yourself or any node by the name
-'localhost'.  The same goes for '127.0.0.1'.  You will have to try
-both.
+'localhost'.  The same goes for '127.0.0.1'.  You will have to try both.
 
 Don't assume that the host has only one network card, or that it
 can't bind to many virtual IP addresses.
 
 Don't assume a particular network device name.
 
-Don't assume that any particular port (service) will respond.
+Don't assume a particular set of ioctl()s will work.
 
 Don't assume that you can ping hosts and get replies.
 
+Don't assume that any particular port (service) will respond.
+
+Don't assume that Sys::Hostname() (or any other API or command)
+returns either a fully qualified hostname or a non-qualified hostname:
+it all depends on how the system had been configured.  Also remember
+things like DHCP and NAT-- the hostname you get back might not be very
+useful.
+
 All the above "don't":s may look daunting, and they are -- but the key
 is to degrade gracefully if one cannot reach the particular network
 service one wants.  Croaking or hanging do not look very professional.