package M1; use parent qw(Exporter); our @EXPORT; sub func{print "Hello"} sub import{print "Imported";@EXPORT=qw(func)} 1; #### perl -I. -le 'use M1;func()' Imported Undefined subroutine &main::func called at -e line 1. #### package M1; use parent qw(Exporter); our @EXPORT; sub func{print "Hello"} #sub import{print "Imported";@EXPORT=qw(func)} 1; #### perl -I. -le 'use M1;func()' Hello