How can I use Perl libraries from PHP?

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.


Solution 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()) {
      # ...
    }
  ?>

Solution 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.