package My::Module; our $fh; sub import { shift; # throw away my own package name $fh = shift; if ( not -w $fh ) # check to see it's a good filehandle { die 'Bad filehandle in use My::Module' }; } sub later { print $fh 'Arbitrary text.'; } 1; #### BEGIN { open $::fh, '>>', '/var/foo.log'; } use My::Module $::fh;