Thanks everyone, it seems pretty obvious now that it's been explained to me :)
I can't really avoid the circular use, it's in a pretty big production system. But now I found out I can fix the problem I was having by putting my "@EXPORT" declarations and such in a BEGIN block. Thanks!