where: $warn_list_arg at times contains about 8000+ strings, each string consisting about 60+ chars. This arg is delimited such that the invoked Perl process can unmarshall these args.!system ("perl", $perl_file, $comp, $warn_list_arg); or die "Program +exit";
For a small sized $warn_list_arg, the call executes OK. For larger sizes such as 8000+ strings, it fails. Here are some specs:
Exit value: 255 ($! >> 8)
Signal num: 0 ($! & 127)
Core dump: 0 ($! & 128)
Is there a size limit on the buffer containing the args? How might I be able to pass such a big arg?
BTW: i resorted to this method of passing args since passing an array/list to the system call failed to pass the args on to the invoked process. Or is there some way to pass arrays in a system call?
Thnx for any suggestion/help.
Thanks to all u folks for yr replies: sleepingsquirrel nothingmuch davido eclark ccn Creating the process via a filehandle was the trick for me! BBK
Edit by castaway, reinserted original question
In reply to THANKS TO ALL: Passing huge args to system call by bubulik
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |