in reply to Re^4: "Practices and Principles" to death
in thread "Practices and Principles" to death

Nice! slightly more convoluted to make assertOk return what the passed code block returns:
package Assert; require Exporter; our @ISA = 'Exporter'; our @EXPORT = qw[ assertOk assert ]; my $nTests = 0; sub assertOk (&$;) { my( $package, $file, $line ) = caller; my( $code, $desc ) = @_; my( $scalar, @list); warn sprintf "%s %d # %s [%s(%d)]\n", ( ( wantarray ? (@list = $code->()) : ($scalar = $code->()) ) ? 'ok' : 'not ok' ), ++$nTests, $desc, $file, $line ; warn $@ if $@; wantarray ? @list : $scalar; } 1;

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}