I've discovered this while obfuscating. While open behaves well with $!:
BEGIN { *! = 1; open my $fd, 'nonexistent'; print "$!\n"; } Use of uninitialized value in concatenation (.) or string at - line 1.
eval isn't so forgiving:
BEGIN { *@=1; eval '1' } Segmentation fault
Or maybe it's not a problem with eval but with $@:
BEGIN { *@=1; die 'kk' } Segmentation fault
Is this a perl bug?
--
David Serrano
In reply to eval segfaults when $@ isn't writable by Hue-Bond
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |