Your tests and your data to test don't match up. With a few changes this runs fine for me.
Yes, that was the idea!
I'm expecting it to say:"test failed: got 6"
but instead it says "20" and "5"!
Also, when all the values match up as they should, I still get an error. When I try cutting and pasting the precise example from 'perldoc Test::Tutorial', my actual and tested values for hour are '16' but it says it actually "got 6".!!