Hello

As suggested, I tried passing 

>   my @bytes = unpack("C*", $in) ;
>   $this->method([EMAIL PROTECTED]) ;

However, I get the following error

[Mon Jan 19 21:17:33 2004] [error] [client 192.168.1.10] 192 out of
range for type byte at
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Inline/Java/Array
.pm line 540

I believe that 192 is the first part of the structure, being part of an
IP address.

Any ideas why that is happening ?

Thanks

Chris


> -----Original Message-----
> From: Patrick LeBoutillier [mailto:[EMAIL PROTECTED] 
> Sent: 18 January 2004 14:08
> To: Chris Faulkner
> Cc: [EMAIL PROTECTED]
> Subject: Re: Inline Java
> 
> 
> Chris,
> 
> The warning you mentionned at the end has already been 
> reported and will be fixed in the next release.
> 
> With regards to your first question, it's actually a very 
> interesting problem.  Presently, Perl filehandles are not 
> automatically mapped to Java Streams.
> 
> The only thing I can think of right now is using a byte array:
> 
>   method(byte buf[]) ;
> 
> and using unpack to create a Perl list:
> 
>   my @bytes = unpack("C*", $in) ;
>   $this->method([EMAIL PROTECTED]) ;
> 
> This is pretty inefficient but I think it should work.
> 
> I'll keep thinking about it, and let me know if you find 
> anything or if this works for you.
> 
> Patrick
> 
> 
> > Hello
> >
> > I have a perl cgi script that reads some binary data from STDIN. It 
> > does it like this:
> >
> > binmode STDIN;
> > read(STDIN, $in, $ENV{'CONTENT_LENGTH'});
> >
> > I have some Inline Java code  a couple of methiclass. I 
> would like to 
> > pass that binary data ($in) to a Java method. How is this 
> done ? DO I 
> > need some kind of InputStream ? I have tried this, as well as 
> > DataInputStream
> >
> > method (java.io.InputStream is )
> >
> > but in my error log I see a message "Can't convert" which is not a 
> > message anywhere in my class. I know that there is data in 
> $in because 
> > I have written out out to a binary file.
> >
> > How can I pass the data ?
> >
> > One other small thing, when I run with perl -w, I see this:
> >
> > [Sat Jan 17 23:54:46 2004] [error] [client 192.168.1.10] 
> v-string in 
> > use/require non-portable at 
> > 
> /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Inline/Java.pm
> > line 9.
> >
> > Line 9 simply is an import of java.util.Date
> >
> > use Inline Java => <<'END_OF_JAVA_CODE',DIRECTORY => 
> '/tmp/Inline' ; 
> > import java.io.*; import java.util.*;
> > import java.util.Date;
> > import java.text.*;
> >
> > Thanks
> >
> >
> > Chris
> >
> >
> >
> 
> 



Reply via email to