use strict; use warnings; package My::Package::Class; sub new { return bless +{}; } sub foo { print "hello from " . __PACKAGE__ . "::foo\n"; } package main; *Class:: = \%My::Package::Class::; my $object = Class->new(); $object->foo(); __END__ hello from My::Package::Class::foo