in reply to Info about Test::Harness
Because execute_tests returns a list of two items, you end up assigning the fail results to $total (the last thing in the list - lookup "list assignment in a scalar context" and "comma operator" to find out why).
If you want the totals hash ref, do this
($total, undef) = execute_tests(...);
...reality must take precedence over public relations, for nature cannot be fooled. - R P Feynmann