From: KEVIN ZEMBOWER <[EMAIL PROTECTED]>
> I'm trying to clean up some data and load it into a database.
>
> One transformation I have to do is strip quotation marks from a lot of
> fields, so I did this:
> foreach my $varref (\$budgetdesc, \$thru_date, \$from_date,
> \$active, \$on_off_campus, \$old_budget, \$bregion, \$funding,
> \$finanalyst, \$progoffice, \$daterecord, \$datelastmo,
> \$timelastm9, \$lastmodified, \$timerectm9, \$createdby,
> \$typefunding, \$country, \$notes) {
> $$varref =~ s/"//g; # Strip the quotes
> from strings
> }
You don't need those references there. foreach() aliases the loop
variable to the elements so any change to the loop variables affects
the elements of the list/variables:
foreach my $var ($budgetdesc, $thru_date, $from_date, $active,
$on_off_campus, $old_budget, $bregion, $funding, $finanalyst,
$progoffice, $daterecord, $datelastmo, $timelastm9,
$lastmodified,
$timerectm9, $createdby, $typefunding, $country, $notes) {
$var =~ s/"//g; # Strip the quotes from strings
}
And in this case it would be better (more Perlish) to make use of the
default variable $_ and postfix foreach. Also tr/// is more efficient
than s///:
tr/"//d foreach ($budgetdesc, $thru_date, $from_date, $active,
$on_off_campus, $old_budget, $bregion, $funding, $finanalyst,
$progoffice, $daterecord, $datelastmo, $timelastm9,
$lastmodified,
$timerectm9, $createdby, $typefunding, $country, $notes);
> This seems to work well. I also need to rearrange the DATE data, so I
> tried to do this:
> foreach my $dateref (\$thru_date, \$from_date, \$daterecord,
> \$datelastmo) {
> my ($MM, $DD, $YY, $hh, $mm, $ss);
> (($MM, $DD, $YY, $hh, $mm, $ss) = $$dateref) =~ m[(..)/(..)/(..)
> (..):(..):(..)]; $$dateref = "$YY-$MM-$DD";
> } #for each of the date-type fields
You have the braces wrong. It should be:
($MM, $DD, $YY, $hh, $mm, $ss)
= ($$dateref =~ m[(..)/(..)/(..)(..):(..):(..)]);
You want to apply the regexp to the $$dateref variable and then
assign the resulting list to those variables.
HTH, Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
-- Terry Pratchett in Sourcery
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]