Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Node perl wrapper
C C++ JavaScript Other
branch: master

1.5.0

latest commit f47ca85aa3
@tokuhirom authored
Failed to load latest commit information.
eg new style example
src Adjusted exceptions to use new handling. We throw before returning un…
test Fix wrong conversion from JS object to Perl hash
utils switch to gyp
.gitignore
.perl-version added .perl-version file.
Changes Updated changes
HACKING.mkdn added installation note
README.mkdn Update README.mkdn
binding.gyp osx support
index.js switch to gyp
package.json 1.5.0

README.mkdn

Synchronous but useful embedded Perl for node.js

This module is still working, but @tokuhirom don't want to maintain this module. MAINTAINER needed! Please contact me at github issues.

SYNOPSIS

var Perl = require('perl').Perl;
var perl = new Perl();
var ret = perl.evaluate("reverse 'yappo'");
console.log(ret); // => oppay

var Perl = require('../index.js').Perl;
var perl = new Perl();
perl.use('LWP::UserAgent');
var ua = perl.getClass('LWP::UserAgent').new();
var res = ua.get('http://utf-8.jp/');
console.log(res.as_string());

Classes

require('perl').Perl

var perl = new Perl()

Create new instance of Perl.

var retval = perl.evaluate(Str code)

evaluate the perl code and get a return value.

var klass = perl.getClass(Str name)

Get a class object(Instance of PerlClass) from perl.

var klass = Perl.blessed(obj)

Same as Scalar::Util::blessed.

var val = perl[funcname]

Get a PerlMethod object.

require('perl-simple').PerlObject

var val = obj[funcname]

Get a PerlMethod object.

require('perl-simple').PerlClass

You can get a instance of this class by Perl#getClass.

var val = klass[funcname]

Get a PerlMethod object.

require('perl-simple').PerlMethod

var val = method()

Call perl5 function and get a return value in scalar context. You get a exception when Perl5 throws exception.

var val = method.callList()

Same as above, but callList calls function in list context.

Installation

node-perl requires a perl5 binary built with -fPIC and -Duseshrplib. Normally, linux distribution's system perl is usable.

You can build a perl binary for node-perl with perlbrew command.

$ PERLBREW_CONFIGURE_FLAGS=-de perlbrew install perl-5.16.1 -Duseshrplib -Duseithreads -Dusethreads -Accflags='-fPIC' -nv
$ perlbrew use perl-5.16.1

On OSX

If you got a error while loading libperl.dylib, please set a DYLD_LIBRARY_PATH to perl5 library path.

Notes

  • The calls to Perl are synchronous ones.

THANKS TO

Based on https://github.com/hideo55/node-perl.

License

http://tokuhirom.mit-license.org/

Something went wrong with that request. Please try again.