Thanks for your suggestion. I must have fallen out of a tree and hit my head (or maybe I'm always this stupid). I just realized that the code in my original post would always return TRUE (script already running) because the script itself is, of course, already in the Linux process list when it checks to see if a script of it's same name is already running. Duh!!
I'm not yet very familiar with Unix-ish systems and am not familiar with PIDs. In your sample code above, why did you open the pid file with +< (is this read-write but don't create?)? And what is the purpose for writing the Perl Process ID $$ to the file? Please help me understand how that is used?