这里是我的Perl代码:为什么我使用SQL获得奇怪的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个不同的列。但是当在这个脚本中使用相同的查询时,如何可能将输出视为单个字段cycle_code
这实际上是一个完全正确的答案,但将有助于提的是,*原因*它发生是因为分割位于垂直竖条上(由可选空白区域包围),并且输入中没有竖条。 – hobbs 2010-05-06 09:51:35