in reply to Tweaking 'return'.
It's conceivable that you could (though I'm somewhat doubtful), but it might be easier, if this is for debugging, to wrap your subroutines, roughly thus (largely untested):
sub dosomething {print "in dosomething\n" } sub wrappit { no strict 'refs'; my ($subname) = @_; my $oldsub = \&{$subname}; *{$subname} = sub { print "entering $subname\n"; my @rv = wantarray ? $oldsub->(@_) : scalar $oldsub->(@_); print "leaving $subname\n"; return wantarray ? @rv : $rv[0]; }; } wrappit('dosomething'); dosomething(1..5);
|
|---|