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; }