On 5/15/07, Jameson C. Burt <[EMAIL PROTECTED]> wrote:
Letting my imagination loose, I ponder that qx() could have a fixed buffer size, which cannot be exceeded; or Unix takes in a block of size 2^16 but not of size 2^17. But I am probably only cluttering my mind with possibilities, when the problem is a simple looking large-number-of-characters problem. Any ideas?
It seems that you've stumbled upon an undocumented implementation limitation. Perl doesn't have too many of those, and it probably shouldn't have any. Now that you have a test case, I encourage you to run perlbug to submit it with a request that it be fixed or documented. (I suspect, though, that the real limitation is in your OS or shell, rather than Perl; so the only fix will be to the documentation.) But what's in the qx``, an entire shell script? Maybe there's a better way to do whatever you're trying to do. When a string within qx`` contains shell metacharacters, the string is passed to /bin/sh on Unix systems. So you're starting a shell, and giving it a large program to run. The shell is going to launch one or more other programs. Maybe your program could launch those programs directly, leaving the shell out of things, and saving that much memory and time, not to mention bypassing any limitations the shell imposes. Good luck with it! --Tom Phoenix Stonehenge Perl Training -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/