NAME

Devel::Spy::Util - Utility functions for Devel::Spy

PRIVATE FUNCTIONS

FUNCTION = Devel::Spy::Y { ... }
FUNCTION = &Devel::Spy::Y( sub { ... } )

The Y combinator. See http://use.perl.org/~Aristotle/journal/30896 for the scoop. Devel::Spy uses it to make functions that support the following snippet.

while ( ... ) {
    $logger = $logger->();
}
VALUE = compile_this( SOURCE CODE )

Compiles SOURCE CODE and returns it. It throws an exception if the result is false.

LOCATION = comes_from()

Returns a string showing the file and line number that called into Devel::Spy.

WRAPPED OBJECT = wrap_thing( OBJECT, CODE )
WRAPPED OBJECT = wrap_thing( REFERENCE, CODE )
VALUE = wrap_thing( VALUE, CODE )

If the "thing" passed in as the first parameter is any kind of reference or object it is returned in a Devel::Spy::Tie* wrapper.

This is how Devel::Spy tracks accesses to hashes and other references.

SEE ALSO

Devel::Spy, Devel::Spy::_obj, Devel::Spy::TieHash, Devel::Spy::TieArray, Devel::Spy::TieScalar, Devel::Spy::TieHandle