If you're going to move the contents of modules into programs, you ought to change:
my $thingy = new MyModule ( 'thing2' ); # do not use... to:
my $thingy = MyModule->new( 'thing2' );As you've seen, the order of compilation and execution often matters. When you use this syntax to call class methods, you're relying on a specific compilation order of declarations which may not be the case; it's better to disambiguate by making the invocant obvious.
In reply to Re: Defining a package inside my script?
by chromatic
in thread Defining a package inside my script?
by Plankton
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |