Передача сообщений между двумя файлами Perl - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть 2 файла Perl, которые не могут быть объединены и должны запускаться отдельно.Мой первый файл выполняет определенную инициализацию параметров, которые используются моим вторым файлом, который выполняет некоторое тестирование.Теперь я хочу использовать параметры, инициализированные в первом файле во втором файле, так как я могу это сделать?

Я напишу Perl-скрипт для тестирования программного обеспечения.Мне нужно написать два файла: один файл инициализации, который будет выполнять всю инициализацию, а второй файл содержит последовательность тестов для выполнения, которая будет использовать параметры инициализации.Мне нужно запустить оба файла отдельно.Что касается выполнения, мой первый файл будет выполняться первым, а затем будет запущен мой второй файл.

Я думаю об использовании файла XML, где первый файл будет записывать параметр в файл, а второй файл будет получать параметры изэтот файл?Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 03 апреля 2019

Если ваша инициализация создает только простые пары ключ-значение, тогда будет достаточно любого способа сериализации данных. В противном случае XML, вероятно, является худшим вариантом для вашего случая. Возможно, вам придется приложить много усилий, чтобы получить ту же структуру данных во втором сценарии. Это происходит потому, что по умолчанию xml-модули не знают, каким должен быть атрибут, дочерний узел или массив узлов. Например, передача одного элемента массива хэшей в xml из первого скрипта может превратиться в один хэш во втором скрипте. Результаты будут сильно зависеть от модулей xml, параметров, которые вы передаете им, и от самих данных.

JSON не должно быть таких проблем. У него могут быть ненужные преобразования типов, но вы не должны их замечать.

Сохраняемость гарантирует, что вы получите те же данные во втором сценарии.

Возможно, вы найдете Data :: Dumper более простым решением. Но у него есть некоторые проблемы с безопасностью, так как вам нужно выполнить его вывод во втором скрипте.

Все вышеперечисленное не предназначено для использования с данными, содержащими ссылки на себя и что угодно, кроме scalars, arrayrefs и hashrefs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...