そのrequireするふたつのplファイルのそれぞれの頭ンとこに
package hoge;
とか
package fuga;
とか書いておいて、
一方からもう一方を呼ぶときにたとえば
&hoge::fuga();
というふうにするんだったと思ったが。

requireする順序に関わらず双方向で呼び合う時にはなにか工夫が要るかも?