#!perl use strict; use warnings; package Foo; sub new { my $class = shift; bless [], $class; } sub doFoo { my $obj = shift; print "foo::doFoo => @_\n"; } package Bar; sub new { my $class = shift; bless [], $class; } sub doBar { my $obj = shift; my $nfoo = new Foo; $nfoo->doFoo(@_); print "Bar::doBar => @_\n"; } package main; my $b = new Bar; $b->doBar(qw(i feel lucky)); #### use foo; ... my $foo = Foo->new;