I've cooked up my own directory comparison tools at least twice in my career, but fortunately this module prevented me from doing so again. I did need some slightly different behavior, which was very easy to implement, both the code and test cases were well put together.
It was easy to use this package and tailor it to perform functions on individual files when comparing. It has no dependencies (as of version 0.3) so it's very likely that it will work (and if not, then it should be very easy to ascribe blame).
In the docs the author mentions File::Dircmp, because this worked well enough, I haven't explored the alternative. Obviously, there's more than one way to do it.