According to the relevant documentation on CPAN, you need to pass the starting directory as an array. So your invocation of find() should look like this:
find (\&pstFind, ($dir) );
I hope that helps. Also if you want more robust matching for a PST file, you could use the following regex statement instead of what you have:
if ( /\.PST$/i ){
[download]