in reply to What goes in a test suite?
You might also find Test::Class of interest (but since I wrote that one I may be biased :-)
As to what you test - I tend to write all my code "Test First". Basically this means:
Works very well for me. I get into the coding "flow" much faster this way and end up with very robust code.
Test suites also make changing your code a much less stressful business since you immediately know if you've broken anything.
I always have a window open that sits there doing a make test every time any file in my project changes. Instant feedback. Very handy.
This style comes from Extreme Programming (also known as XP - just be be confusing). If you're interested take a look at extremeprogramming.org.
Retrofitting a test suite on an existing code base can be a much more painful task. Two approaches that have worked for me are: