in reply to Re: diff b/w func_name and module::func_name
in thread diff b/w func_name and module::func_name

func_name() is actually MAIN::func_name
Not quite right. It is main::func_name.

-- 
Ronald Fischer <ynnor@mm.st>

Replies are listed 'Best First'.
Re^3: diff b/w func_name and module::func_name
by AnomalousMonk (Archbishop) on Feb 12, 2010 at 17:09 UTC
    It is main::func_name.

    Isn't it more accurate to say "It is main::func_name in that particular case", and that in the general case it is something like __PACKAGE__::func_name, where __PACKAGE__ is the package in which the function was defined?

    >perl -wMstrict -le "package Foo; print 'in package Foo'; sub my_name { return (caller 0)[3] } print my_name(); package main; print 'in package main'; print Foo::my_name(); sub my_name { return (caller 0)[3] } print my_name(); package Foo; print 'in package Foo'; print main::my_name(); print my_name(); " in package Foo Foo::my_name in package main Foo::my_name main::my_name in package Foo main::my_name Foo::my_name
      in the general case it is something like __PACKAGE__::func_name

      Absolutely! Thanks for clarifying.

      -- 
      Ronald Fischer <ynnor@mm.st>