in reply to What's the right way to import a module

The difference is:

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Replies are listed 'Best First'.
Re^2: What's the right way to import a module
by sriharsha.sm (Initiate) on Apr 26, 2012 at 08:13 UTC
    Foo package has only two modules: Bar and Car.

    Directory structure

    - Foo |-Car.pm |-Bar.pm

    I intend to use only Foo::Bar module, but one of my colleague said its "best practice" to include 'use Foo' and then include 'use Foo::Bar'. Is this the right way of importing?

      No. If there is no Foo.pm, and you don't use any functionality of Foo.pm then use Foo; will not work and is not considered best practice.

      There is no general hierarchical relationship between Foo and Foo::Bar and Foo::Car. Maybe if you wrote the modules, there is some relationship between Foo::Bar and Foo::Car, but in general, this is not true.

      one of my colleague said its "best practice" to include 'use Foo' and then include 'use Foo::Bar'
      Either there's more to it than you're telling us (perhaps things are set up in your work environment that it does make sense), or it's time to replace your colleague with someone with a basic understanding of Perl.