this is true! but i would think that it would be far safer if the perl code itself were to accomplish the same function as the 'outside program. yes, i realize that sometimes that is at times wasteful of system resources, as well as the programmer's time, but for something as simple as the example here (getting the process ID of said program) it would be best, imho.
especially since perl is so good at handling and sorting human readable data. also, it's entirely possible that somewhere along the line, that program might be moved or updated, and the updated binary could be in a new location; say, the old might be in /usr/bin, and the new could be in /usr/local/bin - change paths to taste for win32 platforms. not every installation/upgrade for a program/suite is as intelligent as perl's is. (: (eg, asking user and/or admin if it should create a symbolic link to the location of the old binary)
but hey! that's just my $0.25. and it might be worth only a nickel in some currencies. (: