Nice. Short and sweet. I am still into a strong type approach for variables rather than let Perl fill in the blanks.
On Sun, 7 Jul 2002 16:33:56 +0800, [EMAIL PROTECTED] (Connie Chan) wrote: >How about this ? > >my $in = 20020706; >my @months = ('', Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, >Dec); >my $out = "$months[$2] $3, $1" if ( $in =~ /(\d{4})(\d{2})(\d{2})/); > >Rgds, >Connie > > > > >----- Original Message ----- >From: "John W. Krahn" <[EMAIL PROTECTED]> >To: <[EMAIL PROTECTED]> >Sent: Sunday, July 07, 2002 9:32 AM >Subject: Re: How to change "20020706" to "July 6, 2002"? > > >> Chris wrote: >> > >> > How to change "20020706" to "July 6, 2002"? >> >> >> One way: >> >> my $date = '20020706'; >> my @months = qw( >> January February March April May June July >> August September October November December >> ); >> my ( $year, $mon, $day ) = unpack 'a4a2a2', $date; >> my $newdate = "$months{$mon - 1} " . $day + 0 . ", $year"; >> >> >> >> Another way: >> >> my $date = '20020706'; >> my @months = qw( >> January February March April May June July >> August September October November December >> ); >> my ( $year, $mon, $day ) = $date =~ /(\d{4})(\d\d)(\d\d)/; >> my $newdate = sprintf '%s %d, %d', $months{$mon - 1}, $day, $year; >> >> >> >> And another way: >> >> my $date = '20020706'; >> use POSIX 'strftime'; >> my $year = substr $date, 0, 4; >> my $mon = substr $date, 4, 2; >> my $day = substr $date, 6, 2; >> my $newdate = strftime '%B %e, %Y', ( 0, 0, 0, $day, $mon, $year ); >> >> >> >> >> John >> -- >> use Perl; >> program >> fulfillment >> >> -- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]