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);



If God had meant us to fly, he would *never* have given us the railroads.
    --Michael Flanders