Sorry, that last line was wrong...

   my $in = '000007032003';
   $in =~ s/^0+/$1/ if (/(\d{2})(\d{2})(\d{4})$/);

#  my $out = qq($in/$2/$3); yuck, sorry

#  Now we can do the replacement with no problem
#  because we've restructured $in to dd/dd/dddd

   my $out = qq($1/$2/$3) if (/(\d{2})(\d{2})(\d{4})/);



-----Original Message-----
From: Scot Robnett [mailto:[EMAIL PROTECTED]
Sent: Wednesday, July 02, 2003 2:03 PM
To: Paul Kraus; Sara; [EMAIL PROTECTED]
Subject: RE: Regex question.


> > 2- Want to format dates like birth = 02151956 should be 02/15/1956
> my $date = "$1/$2/$3/" if (/(\d\d)(\d\d)(\d\d\d\d)/)

# All of this is UNTESTED, please treat as such.

# More of "the same but different"

   my $date = qq($1/$2/$3) if /(\d{2})(\d{2})(\d{4})/;

# Takes into account dates like 07/03/2003, unless
# of course you've lopped off the preceding "000" type
# strings with s/^0+//;  --- for example:

   my $in = '000007032003';
   my $out = qq($1/$2/$3) if /(\d{2})(\d{2})(\d{4})/;
   print $out;

# would result in printing:
# 00/00/0703

# This might work better (preserving preceding "0" on the date)

   my $in = '000007032003';
   $in =~ s/^0+/$1/ if (/(\d{2})(\d{2})(\d{4})$/);
   my $out = qq($in/$2/$3);


-- 
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