# This is tmp.pl use strict; use warnings; push(@INC, 'c:\perl\programs'); # this is where all code lives use class1; # Note, switching order here flips the error to class 1 use class2; my $C1 = new class1; my $C2 = new class2; $C1 -> FOO; $C2 -> FOO; # This line hits the error "undefined Class2::bar" # End tmp.pl file # start class1.pm file package class1; use strict; use warnings; use myCommonLib; #Contains function bar() sub new { ... } # builds an object, blesses it etc sub FOO { bar(); } 1; # End class1.pm # start class2.pm file package class2; use strict; use warnings; use myCommonLib; #Contains function bar() sub new { ... } # builds an object, blesses it etc sub FOO { bar(); # This line errors. myCommonLib::bar(); # Produces the similiar error that # "myCommonLib::bar()" doesn't exist } 1; # End class2.pm # File myCommonLib.pm Version 1 use strict; use warnings; sub bar { print "hello world"; } # End file myCommonLib.pm Version 1 # File myCommonLib.pm Version 2 package myCommonLib; use strict; use warnings; sub bar { print "hello world"; } 1; # End file myCommonLib.pm Version 2
In reply to Re^2: use a package multiple times
by Anonymous Monk
in thread use a package multiple times
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |