$ perl -Mdiagnostics -e " my @f; $f[-1] = 0; " Modification of non-creatable array value attempted, subscript -1 at -e line 1 (#1) (F) You tried to make an array value spring into existence, and the subscript was probably negative, even counting from end of the array backwards. Uncaught exception from user code: Modification of non-creatable array value attempted, subscript -1 at -e line 1. $ perl -Mdiagnostics -e " my @f = 0; $f[-1] = 0; "