Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re^2: Changing every subroutine in many perl scripts

by nitin1704 (Sexton)
on Jul 26, 2012 at 03:36 UTC ( #983762=note: print w/ replies, xml ) Need Help??

in reply to Re: Changing every subroutine in many perl scripts
in thread Changing every subroutine in many perl scripts

Okay, so I tried the following code:

#!/usr/bin/perl use warnings; use strict; use Hook::LexWrap; my @mars_subs = qw (add increment); for (@mars_subs) { wrap $_, pre => sub { my @caller = caller(0); for (@caller) { print $_, " " if defined $_; } print "\n"; }; } print add( 1, 2 ), "\n"; sub add { my ( $num1, $num2 ) = @_; increment($num1); return $num1 + $num2; } sub increment { my $num = shift; return ++$num; }

And the output I got is:

main 17 main::__ANON__ 1 1 1794 UUUUUUUUUUUUU main 21 main::__ANON__ 1 1538 UUUUUUUUUUUUU 3

How do I get the actual sub names like main::add instead of main::__ANON__ ?

Comment on Re^2: Changing every subroutine in many perl scripts
Select or Download Code
Replies are listed 'Best First'.
Re^3: Changing every subroutine in many perl scripts
by chromatic (Archbishop) on Jul 26, 2012 at 05:55 UTC

    What are you trying to report? Are you trying to emit something for every executed function? In that case, close over the name of the wrapped function:

    my @mars_subs = qw( add increment ); for my $sub (@mars_subs) { wrap $sub, pre => sub { print "Calling '$sub'\n"; }; }

    Improve your skills with Modern Perl: the free book.

      Thanks. Yes, I want to log how these various subroutines are called one after the other, for understanding how this set of perl scripts and modules works and the dependencies between them. It's all legacy code of thousands of lines. Is there a better way to do this?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://983762]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2015-11-25 09:35 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (672 votes), past polls