Jay, Inline::Java will bind your code under the current package.
So try : InteractiveBrokers::Test::com::ib::client::EClientSocket instead Pat, Note: If that doesn't work, please send the exact error mesage. > Hi, > > My Inline::Java can't find my Java classes after studying them. The class > I > want to study is in: > > [o901]:~> ls > /home/jstrauss/IB/IBJts/java/com/ib/client/EClientSocket.class > /home/jstrauss/IB/IBJts/java/com/ib/client/EClientSocket.class > > then I'm configuring Inline::Java like: > > Java => 'DATA', > PORT => 7890, > CLASSPATH => '/home/jstrauss/IB/IBJts/java', > STUDY => ['com.ib.client.EClientSocket'], > PORT => 7890, > > Then call it like: > > my $client = com::ib::client::EClientSocket->new($api); > > I think my call syntax is correct (i.e correct number/type of args), and I > thought my pathing is correct. I can't see the problem. Any pointer > would > be much appreciated. > > Thanks > Jay > > Below is the full (test) code. > > package InteractiveBrokers::Test; > > use base qw(Class::Accessor); > > use Inline ( > Java => 'DATA', > PORT => 7890, > CLASSPATH => '/home/jstrauss/IB/IBJts/java', > STUDY => ['com.ib.client.EClientSocket'], > PORT => 7890, > ); > > sub java { > > my $self = shift; > $api = new InteractiveBrokers::Test::Simple(); > my $client = com::ib::client::EClientSocket->new($api); > > } > > 1; > > __DATA__ > __Java__ > > class Simple { > public Simple(){ } > > public String Print(String s){ > return s; > } > } > > > > > >