+my $count = sub
+{
+ return {
+ pass => sub { scalar grep $_->{result} == 0, @tested },
+ fail => sub { scalar grep $_->{result} != 0, @tested },
+ }->{$_[0]}->();
+};
+
+my $summary = sub
+{
+ my @lines = (
+ "${\scalar @tested} tests were run",
+ "${\$count->('pass')} PASS, ${\$count->('fail')} FAIL",
+ );
+ my $len_longest = sub
+ {
+ local $_ = 0;
+ foreach my $line (@lines) {
+ if (length $line > $_) {
+ $_ = length $line;
+ }
+ }
+ return $_;
+ }->();
+ return join "\n",
+ '=' x $len_longest,
+ @lines,
+ '=' x $len_longest;
+}->();
+
+print "\n";
+print $count->('fail')
+ ? RED $summary
+ : GREEN $summary;