Squeak.ru - шаблоны программирования

Чтение INI-файла для инициализации переменных

Мне нужно написать несколько сценариев Perl, каждый из которых проверяет отдельную команду приложения Unix.
Я хочу поместить все свои переменные в файл .ini, где каждый раздел будет отдельной командой.
Пример файла INI :

[Sec2]
item1=xx
item3=yy
[usermgr]
domain=/vol.nas/rpas_qc/mohima/Auto/testDomain/PlatformConfigGD
msgs=user .* was added,usermgr completed successfully
group=Admin
grouplbl=Admin

Моя функция iniRead:

sub iniRead
 {
  my $ini = $_[0];
  my $conf;
 my $section;
  open (INI, "$ini") || die "Can't open $ini: $!\n";
    while (<INI>) {
        chomp;
        if (/^\s*\[\s*(.+?)\s*\]\s*$/) {
          $section = $1;
        }

        if ( /^\s*([^=]+?)\s*=\s*(.*?)\s*$/ ) {
          $conf->{$section}->{$1} = $2;
        }
    }
  close (INI);
  return $conf;
}

Внутри моего скрипта я добавляю строки, как показано ниже, для инициализации переменных:

my $conf = iniRead("/vol.nas/rpas_qc/mohima/test/test.ini");
my $domain= $conf->{"dimensionMgr"}->{"domain"};
my $dim = $conf->{"dimensionMgr"}->{"dim"};

Есть ли способ инициализировать переменные внутри каждого сценария с меньшим количеством строк кода?

13.12.2015

  • Я не могу использовать какие-либо внешние модули из CPAN, так как они ограничены внутри организации. 13.12.2015
  • Сделайте эти модули внутренними или найдите другую организацию для работы. 13.12.2015
  • @MohimaChaudhuri Если вы можете записывать файлы на диск, вы можете использовать модули ... Модули - это просто код. Почему люди так зависают, иногда действительно трудно понять. 13.12.2015
  • metacpan.org/pod/Config::INI 13.12.2015
  • @TLP почти наверняка связано с управлением изменениями. Технический специалист знает правду, но люди, одобряющие ваши изменения, думают, что Windows и «Установка» вносят далеко идущие изменения в систему, и поэтому их необходимо проверять, тестировать, анализировать и т. Д. 13.12.2015
  • Зачем вообще нужно инициализировать переменные внутри каждого скрипта? У вас уже есть все, что вам нужно, в hashref! 13.12.2015
  • Вы можете буквально скопировать и вставить код из Config::Tiny в локальный модуль с именем Company::Config или даже вставить его прямо в встроенное программное обеспечение. 13.12.2015
  • Спасибо всем, я сделал локальную копию Config::IniFiles, так как у меня нет прав root 13.12.2015
  • @MohimaChaudhuri, например, с metacpan.org/pod/local::lib, вы можете установить любой модуль без рут-прав. 14.12.2015

Ответы:


1

Я сделал локальную копию Config::IniFiles, так как у меня нет root-прав — Мохима Чаудхури

например, с помощью metacpan.org/pod/local::lib вы можете установить любой модуль без права root. Болав

16.10.2017
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...