Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: perl: Argument list too long

by pc88mxer (Vicar)
on May 03, 2008 at 04:54 UTC ( #684304=note: print w/replies, xml ) Need Help??

in reply to perl: Argument list too long

This is a kernel limitation. Shell arguments and environment variables are allocated from the same space and are limited to some number of pages - usually something like 32.

You'll probably have to come up with another way to pass your arguments, such as reading them through STDIN or passing them in a file.

For more discussion about this problem, see "Argument list too long": Beyond Arguments and Limitations

Here's a script to test what the limits for %ENV are:

my $n = 0; while (1) { $ENV{"X$n"} = "X" x 1024; test($n) or last; $n++; } print "first failure at n = $n\n"; sub test { my $n = shift; my $st = system('/bin/echo \\\$X1 >/dev/null'); # Note: the above call to system() will cause the shell to # report 'Argument list too long' for a large enough environment. $st == 0; }
On my Ubuntu box it first fails at n = 125, which corresponds to approx. 128 K (= 32 x 4K pages.)

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://684304]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2023-03-29 12:16 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (71 votes). Check out past polls.