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


in reply to Re: Perl "new" command
in thread Perl "new" command

Foo::bar("Foo", $baz) what is Foo here. Is it a name of a routine or just a typical scalar value?

Replies are listed 'Best First'.
Re^3: Perl "new" command
by tobyink (Canon) on Mar 01, 2012 at 11:31 UTC

    The first Foo is the name of a package, as in...

    package Foo; sub bar { print "Inside the package, I am called 'bar'\n"; print "But outside the package, I am called Foo::bar\n"; }

    The second "Foo" is just a string scalar.

    I really think you need to read perlboot from start to finish.

      In that example, the sub can be called as Foo::bar() regardless whether you are inside or outside the package. It's just that inside the package, the sub can also be called as bar().