in reply to debugging - straw poll ...
It includes facilities for assertions which cause the script to warn() or die() on failure.
To top it all off, it also does animated progress bars (in ASCII of course).