Вы можете передать путь к файлу INI в командной строке, используя Getopt :: Long , и переключатели командной строки для istance:
Start.pl --ini=/path/to/INI_file
Вот пример кода, чтобы показать, какие изменениянеобходим в Start.pl, чтобы иметь переключатели:
#!/usr/bin/env perl
use v5.12;
use strict;
use Getopt::Long;
# That little tiny 's' after 'ini=' is for string
GetOptions ( 'ini=s' => \my $ini_file );
say $ini_file;
После этого изменения вы можете прочитать все параметры из вашего INI-файла, включая путь к папке журнала (вы уже используете модуль для управления INI-файламикак Config :: IniFiles ?).
В вашем вопросе по поводу print
есть еще что-то неясное: хотя один из моих мастеров сказал, что печать с парой квадратных скобок - лучшийотладчик в мире, зачем использовать print
, когда вы настроили Log::Log4perl
?
Когда вы говорите, что Logger.PL не может быть использован в ConfigReader, вы ссылаетесь на объект журнала?