The following script crashes perl:
#!perl
use strict;
use warnings;
use JavaScript::SpiderMonkey;
my $js = JavaScript::SpiderMonkey->new();
$js->init(); # Initialize Runtime/Context
# Define a perl callback for a new JavaScript function
$js->function_set("writeln", sub { print @_,"\n"; });
my $c=0;
$js->function_set('currval',sub { return $c; });
$js->function_set('nextval',sub { $c++; return $c; });
# Execute some code
my $rc = $js->eval(<<'__end_of_javascript__');
writeln("start: "+currval());
for (var i=1; i<10; i++) {
writeln("expected "+i+", got "+nextval());
}
__end_of_javascript__
$js->destroy();
__END__
Summary of my perl5 (revision 5 version 6 subversion 0)
configuration:
Platform:
osname=MSWin32, osvers=4.0,
archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=undef use5005threads=undef
useithreads=define usemultiplicity=def
ine
useperlio=undef d_sfio=undef uselargefiles=undef
use64bitint=undef use64bitall=undef
uselongdouble=undef usesocks=undef
Compiler:
cc='cl', optimize='-O1 -MD -DNDEBUG', gccversion=
cppflags='-DWIN32'
ccflags ='-O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE
-DNO_STRICT -DHAVE_DES_FCRYPT
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
-DPERL_MSVCRT_READFIX'
stdchar='char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=undef, longlongsize=8, d_longdbl=define,
longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8,
Off_t='off_t', lseeksize
=4
alignbytes=8, usemymalloc=n, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -release
-libpath:"D:\RBpoint\pe
rl\lib\CORE" -machine:x86'
libpth=/lib /usr/lib /usr/local/lib
"D:\RBpoint\perl\lib\CORE"
libs= oldnames.lib kernel32.lib user32.lib
gdi32.lib winspool.lib comdlg32
.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
netapi32.lib uuid.lib wsoc
k32.lib mpr.lib winmm.lib version.lib odbc32.lib
odbccp32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=yes,
libperl=perl56.lib
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef,
ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo
-nodefaultlib -release -libpath:"D:
\RBpoint\perl\lib\CORE" -machine:x86'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS
PERL_IMPLICIT_CONTEXT PERL_IMP
LICIT_SYS
Locally applied patches:
ActivePerl Build 620
Built under MSWin32
Compiled at Oct 31 2000 18:31:05
@INC:
D:/RBpoint/perl/lib
D:/RBpoint/perl/site/lib