How can I use Perl libraries from PHP?

2019-01-09 11:04发布

问题:

I want to use Perl libraries from a PHP application. I have heard that it is possible.

I have considered the possibility of re-writing the libraries in PHP, but I do not think that is a good idea because it is difficult.

回答1:

You could also use PHP::Interpreter from CPAN. This allows you to embed a PHP interpreter in Perl and also, more usefully for you, to create a Perl object in PHP:

<?php
    $perl = Perl::getInstance();
    $fh = $perl->new("IO::File", "<$file");
    while($fh->getline()) {
      # ...
    }
  ?>


回答2:

You can use Inline::PHP CPAN module from Perl to integrate PHP code (just use library and call you your PHP code). Or you can use perl PECL extension to call Perl from PHP.

In future you will be able to use Parrot virtual machine to use libraries from any supported language. Parrot supports this, but Perl 5 and PHP support in Parrot is weak.



标签: php perl embed