#!/usr/bin/perl -w use strict; use vars qw(@ISA @EXPORT); package A; BEGIN { require Exporter; @A::ISA = 'Exporter'; @A::EXPORT = qw(CA sa); } use constant CA => 1; sub sa { my $a = CA; # fine } package B; BEGIN { A->import(':DEFAULT'); } @B::ISA = 'A'; sub sb { my $b = CA(); # fine my $c = CA; # fine, but only after import. }