shooter714 has asked for the wisdom of the Perl Monks concerning the following question:
use IPC::Open2 $progName = "idl"; open(READIDL, WRITEIDL, $progName) print WRITEIDL <<"ENDIDL" arr1 ='@array1' arr2 ='@arrat2' program, arr1, arr2, data print, data ENDIDL $data = <READIDL> chomp($data)
Now, program is not an IDL batch file. It is a procedure. So I must pass these arrays into it and data is returned as long as i do a print, data command at the IDL prompt before ENDIDL, and then I use the READIDL filehandle to retrieve it.
The problem once I compile and run my perl script is:
% Input line is too long for input buffer of 32766 characters. Broken pipe
array1 and array2 are large string arrays and take up a lot of memory. I was wondering if there is some way I can increase the buffer size so that perl can pass them into IDL without breaking the pipe. I'm using perl version 5.8.8. Thanks for the help.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: how to increase input buffer size in perl?
by BrowserUk (Patriarch) on Mar 31, 2010 at 19:04 UTC | |
by Anonymous Monk on Mar 31, 2010 at 21:10 UTC | |
by BrowserUk (Patriarch) on Mar 31, 2010 at 21:47 UTC | |
|
Re: how to increase input buffer size in perl?
by Anonymous Monk on Mar 31, 2010 at 17:54 UTC | |
by shooter714 (Initiate) on Mar 31, 2010 at 18:17 UTC | |
by ikegami (Patriarch) on Mar 31, 2010 at 18:28 UTC | |
by Anonymous Monk on Mar 31, 2010 at 18:35 UTC | |
by ikegami (Patriarch) on Mar 31, 2010 at 18:49 UTC | |
by shooter714 (Initiate) on Apr 07, 2010 at 03:46 UTC |