# test.pl ... use Test::More; ... # Create %problems and populate with names and solutions keyed to problem numbers ... for my $i (sort { $a <=> $b } keys %problems) { my $module = 'Problem_' . $i; require $module . '.pm'; my $time0 = time(); my $result = ${module}->solve(); my $time1 = time(); printf "%3d (%2d s): ", $i, int($time1 - $time0 + 0.5); is ( $result, $problems{$i}->{solution}, $problems{$i}->{name} . ': answer' ); print ' ' x 12; cmp_ok ( ($time1 - $time0), '<', MAX_SECONDS, $problems{$i}->{name} . ': time' ); } done_testing();