Brian Morgan wrote:
>
> Good evening everybody,
> I have been working on a small database project and have come across the
> need to move some data from table A to table B, the year format in table
> A is \d{2}\D{8} and in table B \d{4}\D{8}
>
> Since the records in table A range from 1970 - 2004. I want to be able
> look at the date, and determine if it is a 2000 or 1900 date and make
> the appropiate date change.
>
> So here is my sollution (long):
> #Pull the value out of the field
> #For this example I don't care about the rest of FieldA I just want the
> 1st 2 digits,
> #but I need to preserve FieldA for later use in the program.
>
> ($Yr = $FieldA) =~ s/^(\d{2}).*/$1/;
> if($Yr > 20){
> $Yr = "19$Yr";
> }else{
> $Yr = "20$Yr";
> }
>
> #Concat year to FieldB
>
> I guess I am looking for a way to combine a substitution with the if
> statement but haven't come up with a working solution.
>
> Anyways, I am looking forward to see what the outcome is.
>
> Brian
There is no need for a regex
$Yr = ($FieldA > 20 ? 1900 : 2000) + $FieldA;
Or just get $FieldB directly if you don't need a separate $Yr
$FieldB = ($FieldA < 21) + 19 . $FieldA;
--
Rick Klement