package Devel::TraceMethods; use strict; sub import { my ($package, $caller) = @_; my $src; { no strict 'refs'; $src = \%{$caller . '::'}; } foreach my $symbol (keys %$src) { my $sub; if (defined($sub = *{$src->{$symbol}}{CODE}) and (defined(&$sub))) { undef $src->{$symbol}; $src->{$symbol} = sub { logCall($symbol); return $sub->(@_); }; } } } sub logCall { print STDERR "Executing $_[0]!\n"; } 1;
In reply to An Implementation of Devel::TraceMethods by chromatic
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |