Skip to content

tlqtangok/exec_perl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

exec_perl

github

Flexibly, fast run embeded Perl script in Node.js, makes Node.js just another Perl !

Install with npm

$ npm install exec_perl 

Usage

  • Main function in exec_perl is exec_perl(), while e_pl() is alias for exec_perl()

demo 1

var exec_perl = require( "exec_perl").exec_perl ;
$abc = "yes";

exec_perl( '$abc', ` $abc =~ s/yes/YES/g; (($abc)); ` );
console.log ( $abc );  
// =>  YES

demo 2

var exec_perl = require('exec_perl').exec_perl;  
 // if not use global: 
 // var app_e_p = require('exec_perl') ; 
 // app_e_p.exec( a,b );

/* important */
/* important */
/* important */
// variable in exel_perl must be a global var
$abc = 'text of $abc var.';	
var perl_stm = 	`
	 $abc= $abc x 2;
	 $abc =~ s/text/TEXT/g; // use your comment
	 (($abc));  # another comment style,define return var
`;

// var ret_obj = app.e_pl ()... // also works 
var ret_obj = exec_perl ( 
	'$abc', 	// caution! it's name of var, not value
	perl_stm
);
console.log( $abc ) ; 
// =>  TEXT of $abc var.TEXT of $abc var.
// console.log ( ret_obj.ans );
// console.log ( ret_obj.perl_stm ); // show the run statement,for debugging

See test. Run an full example of the exec_perl with node test/test.js

API

  • [see file] (./index.js)

About

Why we need exec_perl

  • Node.js is fast, Perl is fast and Flexibly, how to choose from? Why don't we have both?! I am a Perl-er, and also a Node.js-er, I am greedy~ . I take both -:)

Project goals

  • Embeded perl script into Node.js,and have them worked perfectly togather

Author

Jidor Tang

License

  • Copyright © 2016 Jidor Tang. Released under the MIT license.

Release log

  • first release v1.0.0 at 2016.12.05

To do

  • add array support
  • add object support

About

Embed Perl script in Node.js, makes Node.js just another Perl !

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published