So, it turns out that your map/reverse bug is just one of a family of crash bugs, e.g:
perl -e "map chomp(+()), ('')x10000;"
perl -e "map chown(+()), ('')x10000;"
perl -e "map warn(+()), ('')x100;"
Though they're all fixed now! | [reply] [Watch: Dir/Any] [d/l] |
Not all of them are fixed, the top two tested negative, with Perl 5.8.7; however, the bottom one produced this.
perl -e "map warn(+()), ('')x100;"
...
...
Warning: something's wrong at -e line 1.
Warning: something's wrong at -e line 1.
Warning: something's wrong at -e line 1.
Warning: something's wrong at -e line 1.
Warning: something's wrong at -e line 1.
Warning: something's wrong at -e line 1.
Warning: something's wrong at -e line 1.
Segmentation fault
UPDATE:
You are correct by increasing the number to 100_000, the top two crash as well.
Evan Carroll www.EvanCarroll.com
| [reply] [Watch: Dir/Any] [d/l] [select] |
They're fixed in bleadperl, as of two days ago. The bug is still there in 5.8.7, and all three of these tests crash 5.8.7 for me. (Maybe you can see the crash too, if you increase the 10000 to something larger?)
| [reply] [Watch: Dir/Any] |
My site has a nice one with reverse and sort perlbugs
That is nice. Do you have any idea why it happens? Is it in the bug database?
Update: Looks like you don't need the second reverse, or even the <>; the following crashes both bleadperl and 5.8.6 for me:
perl -e 'map print(reverse), ("")x68'
| [reply] [Watch: Dir/Any] [d/l] |
perl -e '@a=(0,1); map {@a=() if $_; $_} @a'
| [reply] [Watch: Dir/Any] [d/l] |