【发布时间】:2010-05-07 17:46:27
【问题描述】:
这是我的 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 语句:
select cycle_code,cycle_month,cycle_year from ....
所以当我在 TOAD 中执行查询时,输出将显示为 3 个不同的列。但是在此脚本中使用相同的查询时,输出怎么可能被视为单个字段 cycle_code
【问题讨论】: