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 network card, or that it can't
-bind to many virtual IP addresses.
+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.
C<-x> (or C<-X>) determine if a file has an executable file type.
(S<RISC OS>)
-=item alarm SECONDS
-
-=item alarm
-
-Not implemented. (Win32)
-
=item binmode FILEHANDLE
Meaningless. (S<Mac OS>, S<RISC OS>)