I have a class named Widget in a file named Widget.pm. I have another class named Table in a file called Table.pm. Table extends Widget.
--- package Widget; #file Widget.pm #insert a bunch of methods... --- package Table; #file Table.pm use Widget; @ISA=("Widget"); #insert several methods here... 1; --- package Framework; #file Framework.pm use Widget; use Table; 1; --- What I was doing was adding "use Widget;" and "use Table;" to the top of the program that uses these classes. But, because I expect this library of classes to grow significantly I created a third .pm file called Framework. Inside the Framework.pm I added the "use Widget;" and "use Table;" and now I only "use Framework;" in my application. #!/usr/bin/perl #test.pl use strict; use warnings; use Framework; #This line of code seems replaceable by either #of the next 2 commented lines my $some_var_of_class_widget = new Widget(); #uncommented, the next line of code seems to work too... #my $some_var_of_class_widget = Widget->new(); #uncommented, so does the next line of code #my $some_var_of_class_widget = Widget->new; my $table = new Table(); #insert several tests here... This was a guess that happened to work. My queston is if this is a common solution to reducing the number of "use" lines? Is there a better solution that wouldn't cause the all classes to get compiled at runtime every time I "use Framework;" especially since all applications that use the Framework may not need the entire suite of classes contained in the framework? -- Ronald Weidner