This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Document CVf_UNIQUE flag better
[perl5.git] / pod / perlport.pod
index 6052481..f78e019 100644 (file)
@@ -494,13 +494,35 @@ Don't assume that you can reach the public Internet.
 Don't assume that there is only one way to get through firewalls
 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'.
+'localhost'.  The same goes for '127.0.0.1'.  You will have to try both.
 
-Don't assume that any particular port (service) will respond.
+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 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.
+
 =head2 Interprocess Communication (IPC)
 
 In general, don't directly access the system in code meant to be
@@ -1503,12 +1525,6 @@ suffixes.  C<-S> is meaningless.  (Win32)
 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>)
@@ -2247,7 +2263,7 @@ http://www.cpan.org/ports/index.html for binary distributions.
 L<perlaix>, L<perlamiga>, L<perlapollo>, L<perlbeos>, L<perlbs2000>,
 L<perlce>, L<perlcygwin>, L<perldgux>, L<perldos>, L<perlepoc>,
 L<perlebcdic>, L<perlfreebsd>, L<perlhurd>, L<perlhpux>, L<perlirix>,
-L<perlmachten>, L<perlmacos>, L<perlmint>, L<perlmpeix>,
+L<perlmachten>, L<perlmacos>, L<perlmacosx>, L<perlmint>, L<perlmpeix>,
 L<perlnetware>, L<perlos2>, L<perlos390>, L<perlos400>,
 L<perlplan9>, L<perlqnx>, L<perlsolaris>, L<perltru64>,
 L<perlunicode>, L<perlvmesa>, L<perlvms>, L<perlvos>,