因此,我有一個簡單的腳本來從命令行讀取文本文件,並且我想要計算「the」的數量,但我已經得到奇怪的數字。計數發出給我所有不同答案的單詞「the」
while(<>){
$wordcount= split(/\bthe\b/, $_);}
print "\"the\" occurs $wordcount times in $ARGV";
因此,使用,我得到的10個事件,但如果我用/ \的意見書\ B/I我得到12/\的意見書\ B /給我6,我相信。我的測試txt中有11次出現。我只是一個白癡? $ wordcount應該從1還是0開始?用這種方法分裂也是不好的做法嗎?該代碼適用於實際計數的單詞,但不是在計算確切的字符串時。新的perl所以任何和所有的虐待感激。謝謝
編輯:我也知道它沒有添加,但現在我得到$ wordcount被視爲更像一個數組,所以它爲以前的迭代工作,雖然它肯定是糟糕的形式。
您正在覆蓋每行的'$ wordcount'。所以你只打印最後一行的出現次數。如果你想要總數,你應該使用'+ ='而不是'='。 – Barmar 2014-10-03 02:55:51
他們都是錯的。兩者都是因爲你沒有添加(就像Barmar說的那樣),並且因爲'split'沒有任何方法來計算匹配模式的事物的數量(它通常會但不總是太高)。 – hobbs 2014-10-03 03:07:12