X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlfaq4.pod;h=326ec9180be4398a5cd77afdbe134f55532f6539;hb=92a24ac3df5779ed0c9681cafefdd31fc6e1ae98;hp=e660042205d734916b79a7520f7cabb87a510df1;hpb=c195e131167b24ce65760dbc38d744bc87427feb;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlfaq4.pod b/pod/perlfaq4.pod index e660042..326ec91 100644 --- a/pod/perlfaq4.pod +++ b/pod/perlfaq4.pod @@ -1,6 +1,6 @@ =head1 NAME -perlfaq4 - Data Manipulation ($Revision: 10126 $) +perlfaq4 - Data Manipulation ($Revision: 10394 $) =head1 DESCRIPTION @@ -516,12 +516,11 @@ 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 a list context is the year minus 1900. -For years between 1910 and 1999 this I 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. +supply adequate information to determine the year well beyond 2000 and +2038. The year returned by these functions when used in a list +context is the year minus 1900. For years between 1910 and 1999 this +I 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, @@ -534,6 +533,15 @@ not the language. At the risk of inflaming the NRA: "Perl doesn't break Y2K, people do." See http://www.perl.org/about/y2k.html for a longer exposition. +=head2 Does Perl have a Year 2038 problem? + +No, all of Perl's built in date and time functions and modules will +work to about 2 billion years before and after 1970. + +Many systems cannot count time past the year 2038. Older versions of +Perl were dependent on the system to do date calculation and thus +shared their 2038 bug. + =head1 Data: Strings =head2 How do I validate input? @@ -2071,10 +2079,16 @@ end up doing is not what they do with ordinary hashes. =head2 How do I reset an each() operation part-way through? -Using C in scalar context returns the number of keys in -the hash I resets the iterator associated with the hash. You may -need to do this if you use C to exit a loop early so that when -you re-enter it, the hash iterator has been reset. +(contributed by brian d foy) + +You can use the C or C functions to reset C. To +simply reset the iterator used by C without doing anything else, +use one of them in void context: + + keys %hash; # resets iterator, nothing else. + values %hash; # resets iterator, nothing else. + +See the documentation for C in L. =head2 How can I get the unique keys from two hashes? @@ -2288,9 +2302,9 @@ the C module from CPAN instead--it makes number-crunching easy. =head1 REVISION -Revision: $Revision: 10126 $ +Revision: $Revision: 10394 $ -Date: $Date: 2007-10-27 21:29:20 +0200 (Sat, 27 Oct 2007) $ +Date: $Date: 2007-12-09 18:47:15 +0100 (Sun, 09 Dec 2007) $ See L for source control details and availability.