in reply to Perly way of handling coordinates?

Could you use Math::Complex? Then you can add and substract them and pull out the real or imaginary parts for your X and Y.

They've done the overloading for you already.