_matt,
bizzar528 makes a very good statement about handling the default condition. You can use switch statements as well to reduce the complexity that you get with lots of "if" statements.
If you find an exception either die, return, or exit right away and don't risk continued execution. If you have a function or class method that gives a return, ALWAYS handle the return. A little more code, but it saves hunting for strange results.
Don't forget to handle the condition where age is exactly 20. You could change one of the not equal cases to >= or <= as well as have the equivalence comparison.
Nico,
don't forget the perl regex predefined sequences! \d must be numeric \must be alpha.