Aha, now we know what to fix

#!/usr/bin/perl -w

use strict;

use Test::Simple tests => 2;
use MyMath;

my @tests = (
  [0 => 1],
  [5 => 120], # <- new test
  [6 => 720], # <- fixed test
);

foreach (@tests) {
    my ($in, $out) = @$_;

    my $res = MyMath::factorial($in);
    ok($res == $out, "factorial($in) gave $res, expected $out");
}
$ MyMath.t
1..2
ok 1 - factorial(0) gave 1, expected 1
ok 2 - factorial(5) gave 120, expected 120
ok 3 - factorial(6) gave 720, expected 720
# Looks like you planned 2 tests but ran 1 extra.