Вот мой Perl-код:
foreach my $line (@tmp_field_validation)
{
chomp $line;
my ($cycle_code,$cycle_month,$cycle_year)= split /\s*\|\s*/, $line;
$cycle_code=~ s/^\s*(.*)\s*$/$1/;
$cycle_month=~ s/^\s*(.*)\s*$/$1/;
$cycle_year=~ s/^\s*(.*)\s*$/$1/;
print "$line\n";
print "$cycle_code|$cycle_month|$cycle_year";
}
Вот вывод:
1 10 2009
1 10 2009||
Что здесь не так?
Я ожидал, что трубы будут между переменными. Почему трубы печатаются после всех трех переменных?
РЕДАКТИРОВАТЬ: tmp_field_validation является выводом запроса SQL, который имеет оператор выбора, как:
select cycle_code,cycle_month,cycle_year from ....
, поэтому при выполнении запроса в TOAD выводятся в виде 3 разных столбцов. но тот же запрос при использовании в этом сценарии, как это возможно, что выходные данные рассматриваются как одно поле цикл_код