【发布时间】:2012-11-10 04:18:08
【问题描述】:
我正在尝试为this bug 编写测试。我已经找到了该错误的解决方案;我无法理解的是为什么我的测试在发布之前没有发现这个错误。
问题归结为这个命令行打印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 消除了这个bug?)
我正在使用 Perl 5.14.2、Test::More 0.98 和 0.88 版。
【问题讨论】:
标签: regex perl unit-testing