# turn on debugging use constant DEBUG_HOOKS => 0; if (DEBUG_HOOKS) { require Hook::WrapSub; require Devel::GetSymbols; require Data::Dump; no warnings 'once'; my $hook_pre = sub { printf "
Calling: %s\nArgs: %s

", $Hook::WrapSub::name, Data::Dump::dump(@_); }; my $hook_post = sub { printf "
Called: %s Result: %s

", $Hook::WrapSub::name, Data::Dump::dump(@Hook::WrapSub::result); }; foreach my $sub (grep /^(page|do)_/, Devel::GetSymbols::subs()) { Hook::WrapSub::wrap_subs($hook_pre, $sub, $hook_post); } }