這裏是我的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