our $storage; # or: # our Storage $storage; # I think this works to type it #### use Storage; my $storage = new Storage(); use Source; use Destination; $Source::storage = $storage; $Destination::storage = $storage; my $input = 'source.txt'; while () { $source = new Source($_); $destination = new Destination(); $source->storeData(); $destination->useData(); } #### use Storage; my $storage = new Storage(); use Source; use Destination; my $input = 'source.txt'; while () { $source = new Source($_, storage => $storage); $destination = new Destination(storage => $storage); $source->storeData(); $destination->useData(); }