假设有一个简单的 Perl 脚本 testme.pl,如下所示:
use strict;
use warnings;
sub testme {
return 1;
}
1;
还有一个像这样的测试文件 testme.t:
use strict;
use warnings;
use Test::More;
require_ok('testing.pl');
ok(testme());
done_testing();
运行perl testme.t
似乎按预期工作,但http://www.perlmonks.org/bare/?node_id=537361和https://stackoverflow.com/a/9134624/272387都建议添加一个包行,所以我修改了原始脚本为:
use strict;
use warnings;
package My::Testing;
sub testme {
return 1;
}
1;
现在测试失败了:
Undefined subroutine &main::testme called at testing.t
为什么这样?