add README.Y2K (from Dominic Dunlop <domo@vo.lu>)
Gurusamy Sarathy [Mon, 20 Sep 1999 18:28:44 +0000 (18:28 +0000)]
p4raw-id: //depot/perl@4208

MANIFEST
README.Y2K [new file with mode: 0644]

index bb92930..a570960 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -31,6 +31,7 @@ Porting/patching.pod  How to report changes made to Perl
 Porting/patchls                Flexible patch file listing utility
 Porting/pumpkin.pod    Guidelines and hints for Perl maintainers
 README                 The Instructions
+README.Y2K             Notes about Year 2000 concerns
 README.amiga           Notes about AmigaOS port
 README.apollo          Notes about Apollo DomainOS port
 README.beos            Notes about BeOS port
diff --git a/README.Y2K b/README.Y2K
new file mode 100644 (file)
index 0000000..378db15
--- /dev/null
@@ -0,0 +1,47 @@
+The following information about Perl and the year 2000 is a modified
+version of the information that can be found in the Frequently Asked
+Question (FAQ) documents.
+
+Does Perl have a year 2000 problem?  Is Perl Y2K compliant?
+
+Short answer: No, Perl does not have a year 2000 problem.  Yes,
+       Perl is Y2K compliant (whatever that means).  The
+       programmers you've hired to use it, however, probably are
+       not.  If you want perl to complain when your programmers
+       create programs with certain types of possible year 2000
+       problems, a build option allows you to turn on warnings.
+
+Long answer: The question belies a true understanding of the
+       issue.  Perl is just as Y2K compliant as your pencil
+       --no more, and no less.  Can you use your pencil to write
+       a non-Y2K-compliant memo?  Of course you can.  Is that
+       the pencil's fault?  Of course it isn't.
+
+       The date and time functions supplied with perl (gmtime and
+       localtime) supply adequate information to determine the
+       year well beyond 2000 (2038 is when trouble strikes for
+       32-bit machines).  The year returned by these functions
+       when used in an array context is the year minus 1900.  For
+       years between 1910 and 1999 this happens to be a 2-digit
+       decimal number. To avoid the year 2000 problem simply do
+       not treat the year as a 2-digit number.  It isn't.
+
+       When gmtime() and localtime() are used in scalar context
+       they return a timestamp string that contains a fully-
+       expanded year.  For example, $timestamp =
+       gmtime(1005613200) sets $timestamp to "Tue Nov 13 01:00:00
+       2001".  There's no year 2000 problem here.
+
+       That doesn't mean that Perl can't be used to create non-
+       Y2K compliant programs.  It can.  But so can your pencil.
+       It's the fault of the user, not the language.  At the risk
+       of inflaming the NRA: ``Perl doesn't break Y2K, people
+       do.''  See http://language.perl.com/news/y2k.html for a
+       longer exposition.
+
+       If you want perl to warn you when it sees a program which
+       catenates a number with the string "19" -- a common
+       indication of a year 2000 problem -- build perl using the
+       Configure option  "-Accflags=-DPERL_Y2KWARN".
+       (See the file INSTALL for more information about building
+       perl.)