我想爲this bug寫一個測試。我已經找到了解決方案,我無法理解的是爲什麼我的測試在發佈之前沒有發現bug。爲什麼加載Test :: More可以消除我的錯誤?
的問題歸結爲這個命令行打印Ver: 0
當它應該打印Ver: 1.00
:
perl -Mversion -e 'printf "Ver: %s\n", ("v1.00" =~ /v(.+)/ ? version->parse($1) : "no");'
但是,如果你-Mversion
之前插入-MTest::More
,然後它打印Ver: 1.00
。
所以我的問題是爲什麼加載Test::More改變我的代碼的行爲? (對於獎勵積分,爲什麼使用"$1"
而不是$1
消除該錯誤?)
我使用Perl 5.14.2,測試::更多0.98和版本0.88。
OK,所以我花了一段時間來確定。該死的,萊昂! ;) – ikegami
Leon的速度更快,但我更喜歡你的答案(+錯誤報告),所以我接受你的答案。 – cjm