JavaScript::V8 - Perl interface to the V8 JavaScript engine
use JavaScript::V8; my $context = JavaScript::V8::Context->new(); $context->bind_function(write => sub { print @_ }); $context->eval(q/ for (i = 99; i > 0; i--) { write(i + " bottle(s) of beer on the wall, " + i + " bottle(s) of beer\n"); write("Take 1 down, pass it around, "); if (i > 1) { write((i - 1) + " bottle(s) of beer on the wall."); } else { write("No more bottles of beer on the wall!"); } } /);
See V8 issue 413 if you are having trouble on gcc 4.4.1.
svn checkout http://v8.googlecode.com/svn/trunk/ v8 cd v8 scons library=shared sudo mv include/v8.h /usr/local/include/ sudo mv libv8.so /usr/local/lib/
If you're using a 64-bit architecture, you need to include arch=x64 when running scons:
arch=x64
scons library=shared arch=x64
Otherwise, perl will complain when trying to link/load v8. For more information, see V8 issue 330.
On OS X I've successfully used Homebrew, install Homebrew then:
brew install v8
On Ubuntu 10.04 (and possibly Debian), the library and header files can be installed by running:
sudo aptitude install libv8-2.0.3 libv8-dev
Similar packages may be available for other distributions (adjust the package names accordingly).
JavaScript::V8::Context
Details on the context object and the mapping between JavaScript and Perl types.
JavaScript::V8x::TestMoreish
JavaScript
JavaScript::Lite
JavaScript::SpiderMonkey
JE
The source code lives at http://github.com/dgl/javascript-v8.
Pawel Murias <pawelmurias at gmail dot com> David Leadbeater <dgl@dgl.cx> Paul Driver <frodwith at gmail dot com> Igor Zaytsev <igor.zaytsev@gmail.com>
Copyright (c) 2009-2010 Paweł Murias Copyright (c) 2011 David Leadbeater Copyright (c) 2011 Igor Zaytsev
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
I stole and adapted pieces of docs and API design from JavaScript.pm
For salvaging the code of V8.pm from a message board (which I took some code and the idea from)
(http://d.hatena.ne.jp/dayflower/20080905/1220592409)
To install JavaScript::V8, copy and paste the appropriate command in to your terminal.
cpanm
cpanm JavaScript::V8
CPAN shell
perl -MCPAN -e shell install JavaScript::V8
For more information on module installation, please visit the detailed CPAN module installation guide.