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]