Примером для иллюстрации является мой собственный Test::Version
.
use Test::More;
use Test::Version 0.04;
# test blib or lib by default
version_all_ok();
done_testing;
Мне не нужно включать скобки в done_testing();
Я могу просто позвонить.Однако, когда я попытался вызвать version_all_ok;
(примечание: первая попытка Dist :: Zilla :: Plugin :: Test :: Version не удалась таким образом) Я получаю ошибку.Почему это так?
Обновление Возможно, мой пример не так хорош, как я думал.Фактическая ошибка, которую я получил, это
Bareword "version_all_ok" not allowed while "strict subs" in use at t/release-test-version.t line 19.
, и вот полный код
#!/usr/bin/perl
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
require Test::More;
Test::More::plan(skip_all => 'these tests are for release candidate testing');
}
}
use 5.006;
use strict;
use warnings;
use Test::More;
eval "use Test::Version";
plan skip_all => "Test::Version required for testing versions"
if $@;
version_all_ok; # of course line 19, and version_all_ok() works here.
done_testing;
Ниже приведены соответствующие фрагменты, извлеченные из Test::Version 1.0.0
для экспорта.
use parent 'Exporter';
our @EXPORT = qw( version_all_ok ); ## no critic (Modules::ProhibitAutomaticExportation)
our @EXPORT_OK = qw( version_ok );