Minor nit: > +You can also use the POSIX strftime function which may be a bit
You can also use the POSIX strftime() function which may be a bit Adding the () to keep it consistent. Cheers, Kevin On Mon, Sep 30, 2002 at 03:42:17AM -0500, _brian_d_foy ([EMAIL PROTECTED]) said something similar to: > * Why doesn't & work the way I want it to? > + change the result of 11 & 3 to the correct one (3) > > * How do I find the current century or millennium? > + mention POSIX::strftime which is a lot easier to read > than the other examples. > > * How can I make my hash remember the order I put elements into it? > + made strict clean > > > Index: perlfaq4.pod > =================================================================== > RCS file: /cvs/public/perlfaq/perlfaq4.pod,v > retrieving revision 1.32 > diff -u -d -r1.32 perlfaq4.pod > --- perlfaq4.pod 10 Sep 2002 19:49:38 -0000 1.32 > +++ perlfaq4.pod 30 Sep 2002 08:41:24 -0000 > @@ -263,7 +263,7 @@ > (the number C<3> is treated as the bit pattern C<00000011>). > > So, saying C<11 & 3> performs the "and" operation on numbers (yielding > -C<1>). Saying C<"11" & "3"> performs the "and" operation on strings > +C<3>). Saying C<"11" & "3"> performs the "and" operation on strings > (yielding C<"1">). > > Most problems with C<&> and C<|> arise because the programmer thinks > @@ -390,11 +390,20 @@ > return 1+int((((localtime(shift || time))[5] + 1899))/1000); > } > > -On some systems, you'll find that the POSIX module's strftime() function > -has been extended in a non-standard way to use a C<%C> format, which they > -sometimes claim is the "century". It isn't, because on most such systems, > -this is only the first two digits of the four-digit year, and thus cannot > -be used to reliably determine the current century or millennium. > +You can also use the POSIX strftime function which may be a bit > +slower but is easier to read and maintain. > + > + use POSIX qw/strftime/; > + > + my $week_of_the_year = strftime "%W", localtime; > + my $day_of_the_year = strftime "%j", localtime; > + > +On some systems, the POSIX module's strftime() function has > +been extended in a non-standard way to use a C<%C> format, > +which they sometimes claim is the "century". It isn't, > +because on most such systems, this is only the first two > +digits of the four-digit year, and thus cannot be used to > +reliably determine the current century or millennium. > > =head2 How can I compare two dates and find the difference? > > @@ -1862,11 +1871,11 @@ > Use the Tie::IxHash from CPAN. > > use Tie::IxHash; > - tie(%myhash, Tie::IxHash); > - for ($i=0; $i<20; $i++) { > + tie my %myhash, Tie::IxHash; > + for (my $i=0; $i<20; $i++) { > $myhash{$i} = 2*$i; > } > - @keys = keys %myhash; > + my @keys = keys %myhash; > # @keys = (0,1,2,3,...) > > =head2 Why does passing a subroutine an undefined element in a hash create it? -- [Writing CGI Applications with Perl - http://perlcgi-book.com] "Life Is Pain, Highness. Anyone who says otherwise is selling something." -- The Dread Pirate Wesley, in the Princess Bride.