in reply to Re^2: call subroutine if scalar is changed
in thread call subroutine if scalar is changed

Yes, though I think it would be easier with tie.