calling perl modules from python

D

David Bear

I have a hash function written by another organization that I need to use.
It is implemented in perl. I've been attempting to decode what they are
doing in their hash function and it is taking way too long. I've
identified two functions in a perl module that I would like to 'call' from
a python program. I found the following:
http://www.annocpan.org/~GAAS/pyperl-1.0/perlmodule.pod

and wondered if anyone had any comments. This thing implements a perl
interpreter inside python. That seems like overkill to me.

I wonder what wisdom this group can offer.
 
M

Mirco Wahab

Hi David
I have a hash function written by another organization that I need to use.
It is implemented in perl. I've been attempting to decode what they are
doing in their hash function and it is taking way too long. I've
identified two functions in a perl module that I would like to 'call' from
a python program. I found the following:
http://www.annocpan.org/~GAAS/pyperl-1.0/perlmodule.pod

and wondered if anyone had any comments. This thing implements a perl
interpreter inside python. That seems like overkill to me.

I wonder what wisdom this group can offer.

Why not the other way around.
Use their .pl-program and
use the functions inside it -
then cross-call in to your
python module:

[--- someperl.pl ---]
py_prepare

$result1 = hash_proc_1($whatever);
$result2 = hash_proc_2($whatever);

py_calculate( $result1, $result2 );

# - - - - - - - - - - - - - - - - - - #

use Inline Python => <<'END_OF_PYTHON_CODE';

def py_calculate (r1, r2):
do_something(r1 * r2)

def do_something(result):
return x - y

END_OF_PYTHON_CODE
[/--- someperl.pl ---]

This approach ensures that the
strange perl functions run clean
int their native environment.

You have access to all your py-
Modules, as in a normal python-
environment (Python globals are
directly imported, afaik).

[--- someperl.pl ---]
use Inline Python;

doit();

__END__
__Python__

from mylibrary import doit
...
...
[/--- someperl.pl ---]

(http://search.cpan.org/~neilw/Inline-Python-0.22/Python.pod)

I use this sometimes, it is quite nice.

Regards

M.
 
B

Bruno Desthuilliers

David Bear a écrit :
I have a hash function written by another organization that I need to use.
It is implemented in perl. I've been attempting to decode what they are
doing in their hash function and it is taking way too long.

No comment...
I've
identified two functions in a perl module that I would like to 'call' from
a python program. I found the following:
http://www.annocpan.org/~GAAS/pyperl-1.0/perlmodule.pod

and wondered if anyone had any comments. This thing implements a perl
interpreter inside python. That seems like overkill to me.

I wonder what wisdom this group can offer.

What about writeing a small perl script that let you call the needed
functions from the commandline, then calling this script from Python ?
 
R

Ravi Teja

This thing implements a perl interpreter inside python. That seems like overkill to me.

It does not *implement* Python, just embeds it. It is not an overkill
if you can get it to work quickly and move on.

If you are Windows, you can use COM. Support is available for both
languages and is fairly simple to use.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,981
Messages
2,570,188
Members
46,733
Latest member
LonaMonzon

Latest Threads

Top