[root@w32 JNI]# cat Hello.java JNICrash.pm jni.pl public class Hello { String Message; public Hello( String Message ) { this.Message = Message; } public int speak() { System.out.println( this.Message ); return 0; } } package JNICrash; use strict; use warnings; BEGIN { $ENV{CLASSPATH} = '.'; $ENV{PERL_INLINE_JAVA_JNI} = 1; #$ENV{LD_PRELOAD} = "/lib/i686/nosegneg/libpthread.so.0"; #$ENV{LD_LIBRARY_PATH} = "/usr/java/jdk1.7.0/jre/lib/i386/server:/usr/java/jdk1.7.0/jre/lib/i386/jli:/usr/java/jdk1.7.0/jre/lib/i386"; }; sub CrashNBurn { my ($msg) = @_; use Inline ( Java => 'STUDY', STUDY => [ 'Hello' ], DEBUG => 1, #5, DIRECTORY => '/tmp/', PACKAGE => 'main', ); my $java = new Hello( $msg ); $java->speak(); #undef $java; } 1; #!/bin/env perl use strict; use lib '.'; use JNICrash; JNICrash::CrashNBurn( "Hello, world!" );