# Foo/Constants.pm package Foo::Constants; use constant PI => 3; # Foo/Base.pm package Foo::Base; use Foo::Constants; # Foo/Sub.pm package Foo::Sub; use base "Foo::Base"; # Bar/Sub.pm package Bar::Sub; use base "Foo::Sub"; use strict; sub new { print PI; #fails, this is the one I want print Bar::Sub::PI; #fails print Foo::Sub::PI; #fails print Foo::Base::PI; #fails print Foo::Constants::PI #even this fails }