http://www.perlmonks.org?node_id=740741


in reply to Getting file and line number where a subroutine is declared

Have you seen Track the filename/line number of an anonymous coderef?

--
brian d foy <brian@stonehenge.com>
Subscribe to The Perl Review

Replies are listed 'Best First'.
Re^2: Getting file and line number where a subroutine is declared
by Ovid (Cardinal) on Feb 02, 2009 at 17:31 UTC

    The problem with those, I think, is the problem I had above. They won't work if the code is declared after I try to inspect it because GV->LINE apparently reports the first glob entry ... and that's created when I take the reference.

    On P5P, Rafael suggested I use START->line instead. It returns the line number of the first expression encountered in the sub. Not perfect, but close enough to what I want (I also encountered GV->LINE returning the line number of the closing curly brace in the sub. Much worse than START.

      They won't work if the code is declared after I try to inspect it

      You seem to be confusing function declaration and function definition. You are getting is the line number of the declaration. What you want to line number of the definition.