首页 > 解决方案 > 两个 perl 文件之间的消息传递

问题描述

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

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

我正在考虑使用 XML 文件,其中第一个文件将在文件中记录参数,而第二个文件将从该文件中获取参数?有没有更好的方法来做到这一点?

标签: perl

解决方案


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

JSON不应该有这样的问题。它可能有不必要的类型转换,但你不应该真正注意到它们。

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

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

以上所有内容均不适用于包含自引用和除scalars,arrayrefs和之外的任何内容的数据hashrefs


推荐阅读