【问题标题】:Receive hash from Perl Script to use in PHP从 Perl 脚本接收哈希以在 PHP 中使用
【发布时间】:2012-08-17 07:29:37
【问题描述】:

我有一个 perl 脚本,它为我解析大量配置文件并创建一个包含我需要的所有信息的哈希。

我想从 PHP 调用该脚本并让 PHP 获取哈希以便能够使用 php 中的哈希,而不仅仅是从 perl 脚本返回一些 html 代码。

这可能吗?还没有找到任何方法,只知道我能够返回大量 html 代码作为输出,但这不是我想要 perl 脚本做的事情。

【问题讨论】:

  • 你知道它为什么返回 HTML 吗?是因为 Perl 脚本是这样编程的吗?通常我会使用 bash 来运行它并获取它的输出,但它听起来好像是 HTML。
  • 不,也许这写得有点疯狂。我知道如何让 perl 脚本生成 html 作为输出并让 php 捕获该输出。但我想要的是拥有哈希图。我已经编写了那个 perl 脚本。
  • JSON。 Perl 可以很容易地生成它。 PHP 应该能够轻松解析它。完成。
  • 如果你的问题那个含糊,不要抱怨别人的回答
  • @DavidO 虽然 OP 明确表示他运行脚本没有问题,但它正在解析它的输出。我读得很清楚。

标签: php perl


【解决方案1】:

最简单的方法,在 perl 中将此哈希序列化为 json 并将结果字符串打印到 STDOUT。

在 PHP 中,它可以很容易地解码为数组或对象...

【讨论】:

  • 它还没有输出 json 但我可以让它输出 json :-)
  • 来自 CPAN:JSON,可能带有 JSON::XS 后端。不确定哪个 PHP 工具适合解析它。
【解决方案2】:

如果执行 PHP 的平台允许,您可以调用 exec() 函数来执行外部文件,例如:

$result = exec( "/path_to/your_script.pl", $lines, $state);

【讨论】:

  • 我正在对您的文字做出反应:“我想从 PHP 调用该脚本......这可能吗?”。
  • 我知道,但是恕我直言,我很清楚这不是关于调用脚本或接收 textoutput ("[..] 并让 PHP 获取哈希以便能够使用 php 中的哈希而不仅仅是返回一些 html 代码”)没关系,也不是针对个人的。
  • 还是没必要的。 PS,如果你想保持你的 Perl 向后兼容,你也可以考虑使用 PHP DOM 来解析输出。
猜你喜欢
  • 2015-10-25
  • 2012-10-07
  • 1970-01-01
  • 2013-09-26
  • 1970-01-01
  • 1970-01-01
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多