Я полностью сбит с толку.Вот мой код:
use strict;
use warnings;
use Test::More;
subtest 'huh?' => sub {
my $i = 0;
eval {
$i++;
} || do {
$i++;
};
is($i, 1, "only execute one branch (i: $i)");
};
&done_testing();
А вот мой тестовый вывод (при запуске с ActivePerl 5.12, Mac OS X):
not ok 1 - only execute one branch (i: 2)
# Failed test 'only execute one branch (i: 2)'
# at test.pl line 14.
# got: '2'
# expected: '1'
1..1
# Looks like you failed 1 test of 1.
not ok 1 - huh?
# Failed test 'huh?'
# at test.pl line 15.
1..1
# Looks like you failed 1 test of 1.
Что здесь происходит?Я ожидал, что запустится только первая ветка, так как ничего die
s.Но похоже, что обе ветви выполнены.