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]

Reply via email to