【问题标题】:Get data from PHP and process in perl从 PHP 获取数据并在 perl 中处理
【发布时间】:2011-12-13 11:14:29
【问题描述】:

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

我有必要的标记脚本,只是无法解决上述问题。

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

【问题讨论】:

    标签: php perl


    【解决方案1】:

    您可能需要使用数据封送协议。两种简单的可能性(对于 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 表示 JSON。 PHP 和 Perl(带有 JSON 模块)都使得传递 JSON 字符串和解码它们变得非常容易。
    • 谁能给我详细的解释
    • @nandini - 你已经收到了详细的解释。什么解释让你感到困惑?
    【解决方案2】:

    有很多选择。

    【讨论】:

      【解决方案3】:

      如果您使用两种不同的语言,如 php 和 java 或 c 或其他任何语言,则必须使用标准格式语言在它们之间进行通信。 为此,您应该使用将 SOAP 协议与 xml 结合使用的网络服务,即... 这是我的建议,我认为这是最好的解决方案,因为它解决了许多问题,并且现在正在使用它在 android 应用程序和 java EE web 应用程序之间进行通信。

      【讨论】:

      • SOAP 对于大多数用例来说过于复杂。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-13
      • 2014-04-18
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      相关资源
      最近更新 更多