>>615
一目でわかるほど明確な不備がある。
-e $lockfileとopen(LOCK,">$lockfile");の間に他のプロセスが割り込めて、それが検知できない。

具体的な安全な方法については色々あるからこの辺でも読んでくれ。
ttp://homepage1.nifty.com/glass/tom_neko/web/web_04.html