perl - 两个 perl 文件之间的消息传递
问题描述
我有 2 个无法合并的 Perl 文件,必须单独运行。我的第一个文件对我的第二个文件使用的参数进行了某些初始化,该文件执行一些测试。现在我想在第二个文件中使用在第一个文件中初始化的参数,那么我该怎么做呢?
我将为软件测试编写一个 Perl 脚本。我需要编写两个文件,一个是初始化文件,它将执行所有初始化,第二个文件包含要执行的测试序列,它将使用初始化参数。我需要分别运行这两个文件。执行方面,我的第一个文件将首先执行,然后我的第二个文件将运行。
我正在考虑使用 XML 文件,其中第一个文件将在文件中记录参数,而第二个文件将从该文件中获取参数?有没有更好的方法来做到这一点?
解决方案
如果您的初始化只生成普通的键值对,那么任何序列化数据的方式都足够了。否则XML
对于您的情况可能是最糟糕的选择。您可能需要付出很多努力才能在第二个脚本中获得相同的数据结构。发生这种情况是因为默认情况下 xml 模块不知道什么应该是属性、子节点或节点数组。例如,将一个元素的哈希数组从第一个脚本传递给 xml 可能会变成第二个脚本中的一个哈希。结果将高度依赖于 xml 模块、您传递给它们的选项以及数据本身。
JSON
不应该有这样的问题。它可能有不必要的类型转换,但你不应该真正注意到它们。
可存储保证您在第二个脚本中获得相同的数据。
您可能会发现Data::Dumper是一个更简单的解决方案。但是它有一些安全问题,因为您需要在第二个脚本中执行它的输出。
以上所有内容均不适用于包含自引用和除scalars
,arrayrefs
和之外的任何内容的数据hashrefs
。
推荐阅读
- css - 引导响应列冲突
- python - 如何从股票交易所等网站持续获取数据并使用 python 将其发送到 azure event hub?
- c++ - std::forward 中的模板推导失败?
- c++ - c++14通过引用返回值优化性能
- c# - “ConfigurationBuilder”不包含“AddJsonFile”的定义
- laravel - 在视图之前操作所有模型属性
- android - 如何应用具有真实 App id 和单元 id 的 Admob 代码..?
- javascript - 仅读取一条记录的最佳实践(json-array)
- rest - Swagger/OpenAPI:尽管我们不期望任何响应正文,但发送内容应用程序/json 是否可以?
- php - 如何使用 Laravel 闭包来调用控制器的 __invoke() 方法?