hi throop,
The author is doing exactly the oposite to what you are expecting.
What that code do is redefine the sub TRACE in Module::Dependency::Grapher with the one in your local scope. After this code, every call made to TRACE inside Module::Dependency::Grapher will call your local TRACE, not the original one defined in Module::Dependency::Grapher.
Using
use Module::Dependency::Grapher qw(TRACE); you import Module::Dependency::Grapher::TRACE to your local scope, that can then be called with TRACE(
...).