我在 5.8.8 上的测试失败,我不明白为什么,尤其是当它在更新的版本中工作时(也许这只是一个错误)(这里是完整代码的链接)
use strict;
use warnings;
use Test::More;
my $fname = 'Fo';
my $content = do { local $/ ; <DATA> };
like $content, qr/^$fname $/xms, q[includes first name];
done_testing;
__DATA__
use strict;
use warnings;
use Test::More;
# generated by Dist::Zilla::Plugin::Test::PodSpelling bootstrapped version
eval "use Test::Spelling 0.12; use Pod::Wordlist::hanekomu; 1" or die $@;
add_stopwords(<DATA>);
all_pod_files_spelling_ok('bin', 'lib');
__DATA__
Fo
oer
bar
在所有最新版本的 perl 上都可以正常工作。但在 5.8.8 中测试失败。我发现通过删除^
和$
代码工作,它就像 Perls 正则表达式引擎一样忽略了,/m
但文档说它是受支持的。
为什么这不起作用?什么是最正确的修复方法?(注意:我认为测试应该检查这些元素本身是否在一条线上)