Date::Calc should do, see function N_Delta_YMD.
In reply to Re^3: Difference between two dates in years by hdb in thread Difference between two dates in years by Doctrin