I am dealing with a problem that I have compressed down to the following
code:

foreach my $number (0 .. 6129){
   $msgs .= "$number,";
}

unless($msgs =~ /^(\d+,?)+$/){
   die "syntax error";
}


What's happening is that when i try to apply my regex to my string -- with
the comma seperator -- , I get a Segmentation Fault when the string is over
29535 characters (Solaris 7, perl 5.8.0).

i've determined that it's not the length of the string that troubling it,
because if i remove the comma seperator, i can bring
the high number up to 10000 (making the length of the string 38895
characters) and it still works fine

the regex in it's current form is not terribly important, but it must match
'number(s) possibly seperated by a comma' (i dont care if there's a comma at
the end)

i've also been able to determine this code works fine with perl 5.6.0,
5.6.1, and 5.8.5 (assuming perl is the difference, and not the differences
between Solaris 7 and 9)

Is there a more compatible way to check my overly-long string?
Is this a problem with perl 5.8.0?
Is this simply some kind of resource exaustion on my system ?


--

Jeremy Kister
http://jeremy.kister.net/


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to