in reply to Re^2: Directory Structure
in thread Directory Structure

Your 'package' name doesn't match your 'use', first of all.

use eg::myfolder::package1; package package1;

should be

use eg::myfolder::package1; package eg::myfolder::package1;

or

use package1; package package1;

In either case, you should either execute your script from within the parent directory of the first level of the package name, or have that directory in @INC (via -I, 'use lib', etc). The parent directory of "eg", or the parent directory of "package1" (myfolder), depending on the name you choose. 'print @INC' isn't helping because your script fails to compile, but Perl prints @INC helpfully in your compilation error anyway.

Writing Modules has a similar issue, with good references to go read on this topic and other issues you'll run into fairly quickly once you get past this one.

--Dave