http://qs321.pair.com?node_id=151655


in reply to regex bug?

Hi,

MacOSX upgraded to perl5.6.1 returns: Example 2: func MAIN returns <func A returns <func B returns <2>+C(D())>>
SPARC linux running perl5.6.1 throws a segfault.
i386 linux running 5.6.1 also throws a segfault :-(.

HTH,

Tim

Update: If I use warnings in the above code the linux versions behave identically to the MacOSX version. Interestingly, invoking perl with the -w switch and without use warnings still gives a segfault.

Curious...

Update 2: The recently-released MacPerl 5.6.1 shows similar behaviour to the linuxes (linices?), crashing instead with the message:

# panic: end_shift. File 'Untitled'; Line 15
Where line 15 is the recursive s/blah/&doFunc($1,$2)/ge line. I assume perl is balking at this point due to some unintentional recursion (i.e., possibly infinite?) which is abolished by using /geo instead of /ge. Why on earth use warnings should prevent this I have no idea. Bizarre (I think).