in reply to This code snippet causes Perl to SEGV

Just to narrow the problem down a little, perl 5.10.1 also SEGVs, but 5.12.3 does not.

The code runs fine on Ubuntu & perl 5.10.1 if you remove the pre-declared prototype (sub foo();). You don't need prototypes. They very probably don't do whatever it is you think they do.

Update: This works for me on 5.10.1. Try it on your 5.10.0:

#!perl510 -w use strict; #sub foo(); foo(); sub foo() { # shouldn't use () but does no harm here my $foo; format STDOUT = ^ $foo; . $foo="X"; write; }

I've been doing a lot of Python recently. Semi-colons sure do look weird now :)