#!perl
if(!caller){my$p=pop;eval"use $p;1"?new$p->run:die$@}package Unit7;sub p{print"
@_\n"}sub new{bless{},shift}sub run{$N=$O=0;for(grep/^test/,keys%{ref($s=shift)
."::"}){$T=$n=$o=0;$N++;set_up$s;$s->$_();tear_down$s;$n-$o||$O++;$T||p"$N) $S"
;print"$o/$n ok\n"}p$N-$O?("Run: $N, Failures:",$N-$O):"OK ($N tests)"}*set_up=
*tear_down=sub{};sub assert{($s,$f,$m)=@_;($S)=(caller 1)[3]=~/\w+$/g;$n++;$o++
,return if$f;$T++||p"$N) $S";print"\t$m\n"}$VERSION=1.00

・出力フォーマットの変更
・簡易 TestRunner.pl を内包 (> perl ./Unit7.pm My::TestCase::Class)