Otogi has asked for the wisdom of the Perl Monks concerning the following question:
When I run this in a simple script that runs through all the files and applies it to the input it does not cause a segmentation fault, however, in the main script I created it does. The difference between the two is that I am getting the regex from a database and I am doing more regexes against more files. Changing this particular regex ieven a little changes where the segmentation fault occurs and $gdb perl core shows it occurs in S_regmatch (prog=0x82fc628) at regexec.c:2312. When I remove this regex from the list of regexes I apply my script runs perfectly well. Did anyone run across this problem before? does anyone have any tips on how to proceed and what to look for? I tried this on numerous perl versions (5.8.3 5.8.4 5.8.5 5.8.6 5.8.7 5.8.8) all cause the same segfault. Thanks for the help.(?:.*\n)*? ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.10\.\d*[ ]=[ ]\d*[ ]\(INTEGER +\)\n)+) ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.11\.\d*[ ]=[ ]-*\d*[ ]\(INTEG +ER\)\n)+) ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.12\.\d*[ ]=[ ]\d*[ ]\(INTEGER +\)\n)+) ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.13\.\d*[ ]=[ ]\d*[ ]\(INTEGER +\)\n)+) ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.14\.\d*[ ]=[ ]\d*[ ]\(INTEGER +\)\n)+) ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.15\.\d*[ ]=[ ]\d*[ ]\(INTEGER +\)\n)+) ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.16\.\d*[ ]=[ ]\d*[ ]\(INTEGER +\)\n)+) ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.17\.\d*[ ]=[ ]\d*[ ]\(INTEGER +\)\n)+) (?:.*\n)*? ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.21\.\d*[ ]=[ ]\d*[ ]\(INTEGER +\)\n)+) (?:.*\n)*? ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.25\.\d*[ ]=[ ]\d*[ ]\(INTEGER +\)\n)+) (?:.*\n)*? ((?:\t\.1\.3\.6\.1\.4\.1\.9\.2\.2\.1\.1\.28\.\d*[ ]=[ ][^\n]*[ ]\(OCTE +TSTR\)\n)+)
|
|---|