so general disclaimer: this is not what i do
but once upon a time i learned bond/annuity math
the PV/price of this perpetuity is 1/x, where 1 is the coupon payment and x is the interest rate
convexity = (1/price)*[d^2(price)/d(yield)^2] = 1/[(1/x)]*[d^2(1/x)/dx^2] = x*[d(-1/x^2)/dx] = x*[2/x^3] = 2/x^2
(modified) duration = -(1/price)*d(price)/d(yield) = -x*d(1/x)/dx = -x*(-1/x^2) = 1/x
the duration of a perpetuity due, which starts payment today rather than a perpetuity immediate which starts payment next year would be future valued 1 year from that, i.e. (1/x)*(1+x) = (1+x)/x, but i believe the problem you are trying to solve for a perpetual bond assumes first payment next year rather than today.