use Config::Std; use Readonly; Readonly my $DEFAULT_LOG_LEVEL => q{warn}; Readonly my $DEFAULT_LOG_FILE => $PROGRAM_NAME . q{.log}; Readonly my $DEFAULT_CONFIG_FILE => $PROGRAM_NAME . q{.cfg}; read_config $DEFAULT_CONFIG_FILE => my %config; use Log::StdLog { level => ($config{'log'}{'level'} || $DEFAULT_LOG_LEVEL), file => ($config{'log'}{'file' } || $DEFAULT_LOG_FILE ) }; #### my $EMPTY_STRING ; my $DEFAULT_LOG_LEVEL ; my $DEFAULT_LOG_FILE ; my $DEFAULT_CONFIG_FILE ; my %config = (); use Config::Std; use Readonly; BEGIN { Readonly $EMPTY_STRING => q{}; Readonly $DEFAULT_LOG_LEVEL => q{warn}; Readonly $DEFAULT_LOG_FILE => $PROGRAM_NAME . q{.log}; Readonly $DEFAULT_CONFIG_FILE => $PROGRAM_NAME . q{.cfg}; read_config $DEFAULT_CONFIG_FILE => %config; } use Log::StdLog { level => ($config{'log'}{'level'} || $DEFAULT_LOG_LEVEL), file => ($config{'log'}{'file' } || $DEFAULT_LOG_FILE ) };