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

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

Replies are listed 'Best First'.
Re^4: diff b/w func_name and module::func_name
by rovf (Priest) on Feb 17, 2010 at 11:33 UTC
    in the general case it is something like __PACKAGE__::func_name

    Absolutely! Thanks for clarifying.

    -- 
    Ronald Fischer <ynnor@mm.st>