sub SetLog { my $glob = shift; *LogFile = *$glob; } #### package test_a; my $LOGFH; sub SetLog { $LOGFH = shift; } sub TestLog { print $LOGFH "test_a::TestLog...\n"; } package main; ... test_a::SetLog(\*LOGF);