Non-perl answer, but if you're doing this for any kind of security-related reason you may want to take a look at
Samhain, which is a full-featured file integrity checking system that can be installed either as a daemon or a cronjob.
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan