in reply to Re^2: why does location of function matter?
in thread why does location of function matter?

I don't have any prototypes defined

sub PostValidate() {

An empty prototype () is still a prototype.

You should always Use strict and warnings.