在两个Perl文件之间传递消息

时间:2019-04-02 13:37:03

标签: perl

我有2个Perl文件,这些文件无法合并,必须分别运行。我的第一个文件对我的第二个文件使用的参数进行了某些初始化,后者执行了一些测试。现在,我想使用第二个文件中第一个文件中初始化的参数,那么该怎么做?

我将编写一个Perl脚本进行软件测试。我需要写两个文件,一个是初始化文件,它将执行所有初始化,第二个文件包含要执行的测试序列,它将使用初始化参数。我需要分别运行两个文件。在执行方面,我的第一个文件将首先执行,然后我的第二个文件将运行。

我正在考虑使用XML文件,第一个文件将在文件中记录参数,第二个文件从该文件中获取参数?有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

如果初始化仅产生简单的键/值对,则任何序列化数据的方式都将满足。否则对于您的情况,XML可能是最糟糕的选择。您可能需要付出很多努力才能在第二个脚本中获得相同的数据结构。发生这种情况是因为默认情况下xml模块不知道应使用什么属性,子节点或节点数组。例如,将散列的一个元素数组从第一个脚本传递到xml可能会变成第二个脚本中的单个哈希。结果将高度依赖于xml模块,传递给它们的选项以及数据本身。

JSON不应出现此类问题。它可能有不必要的类型转换,但您不应真正注意到它们。

Storable保证您在第二个脚本中获得相同的数据。

您可能会发现Data::Dumper是一个更简单的解决方案。但是它存在一些安全问题,因为您需要在第二个脚本中执行其输出。

以上所有内容均不适用于包含自我参考和scalarsarrayrefshashrefs以外的任何内容的数据。