By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,571 Members | 1,265 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,571 IT Pros & Developers. It's quick & easy.

calling perl modules from python

P: n/a
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.

--
David Bear
-- let me buy your intellectual property, I want to own your thoughts --
May 11 '06 #1
Share this Question
Share on Google+
3 Replies


P: n/a
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.
<AOL />
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 ?
May 11 '06 #2

P: n/a
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....22/Python.pod)

I use this sometimes, it is quite nice.

Regards

M.
May 11 '06 #3

P: n/a
> 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.

May 12 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.