我想教自己的Perl和我到處尋找答案可能是一個非常簡單的問題。我定義了一個子程序,我打電話來計算單詞中的字母數量。如果我這樣寫出來:初學者調用一個Perl子程序
$sentence="This is a short sentence.";
@words = split(/\s+/, $sentence);
foreach $element (@words) {
$lngths .= length($element) . "\n";
}
print "$lngths\n";
然後它就像一個魅力。但是,如果我將它包裝到一個子例程中,分割不會分割輸入,而是將整個句子統計爲單個輸入。下面是我如何定義子程序:
sub countWords {
@words = split(/\s+/, @_);
foreach $element(@words) {
$lngths .= length($element) . "\n";
}
return $lngths;
}
從我請教這應該工作我讀過的所有網頁和文本,但事實並非如此。
在此先感謝!
你可以馬上做到,以進一步您的Perl學習的最好的事情就是*總*包括'使用嚴格;使用警告;'在每個文件的頂部。 – Ether 2010-12-19 04:04:47