use Your::Module( $log_file ); #### use Your::Module; Your::Module->set_log_file( $log_file ); #### package Your::Module; # ... sub set_log_file { my( $we, $log_file ) = @_; Log::Log4perl->init( \"... $log_file ..." ); } #### package main; use strict; use Log::Log4perl; use Your::Module; our $log_file = ...; Log::Log4perl->init( ... ); #### package Your::Module; Log::Log4perl->init( \qq< ... $main::log_file ... > ); #### package main; use strict; use Log::Log4perl; our $log_file = ...; Log::Log4perl->init( ... ); use Your::Module; # Must happen after $log_file is set. DON'T MOVE UP!