use strict;
use warnings;
my $x="";
substr($x,2,1)="X"; # a fatal errror
print "Alive!\n"; # not reached
__END__
substr outside of string at - line 4.
####
use strict;
use warnings;
my $x="";
bar($x);
print "$x\n"; #prints 10
sub bar { $_[0]=10; } # does $x=10, essentially
####
substr($x,2,1)=10