从PHP获取数据并在perl中处理

时间:2011-12-08 20:17:58

标签: php perl

我开发了一个标记器来标记特定域的术语。为了标记目的,我使用了Perl。标签器标签摘自文献,我开发了一个实际收集用户输入的界面。我的问题是如何从接口获取数据并将其作为数组传递给Perl脚本,以及如何在从Perl脚本处理后显示输出。

我有必要的标记脚本,无法弄清楚上述问题。

我几乎没有使用JSON的建议。 所以我想有两个不同的脚本,一个是php,另一个是我拥有的perl。 那么自动显示处理过的文件呢

3 个答案:

答案 0 :(得分:4)

您可能需要使用数据编组协议。两种简单的可能性(对于PHP和Perl)是:

  • JSON输出 - > JSON输入。
  • YAML输出 - > YAML输入。

JSON

在PHP中:

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, json_encode( $struct ));
fclose($fh);

Perl:

use File::Slurp qw<read_file>;
use JSON qw<from_json>;

my $struct = from_json( read_file( 'testfile.txt' ));

YAML(JSON的超集)

在PHP中:

yaml_emit_file( "testfile.txt", $struct );

Perl:

use File::Slurp qw<read_file>;
use YAML::XS qw<Load>;

my $struct = Load( read_file( 'testfile.txt' ));

同样,有很好的老式XML,但为了使它几乎一样容易,你必须在PHP中使用Pear。但是XML::Simple 可以让它变得如此简单。

答案 1 :(得分:2)

有很多选择。

答案 2 :(得分:1)

如果您使用两种不同的语言,如php和java或c或其他任何其他语言,则必须使用标准格式语言在它们之间进行通信。 要做到这一点,你应该使用使用SOAP协议的websevices与xml ... 这是我的重新发布,我认为这是最好的解决方案,因为它解决了很多问题,现在正在使用它来在android应用程序和java EE Web应用程序之间进行通信。