in reply to Re^2: split problem
in thread split problem

"Except that if you assign any value past the end of an array, Perl is supposed to automatically lengthen the array to accommodate the value."

You're correct. See my update. I've stricken the text concerning "past the end of the array".

— Ken

Replies are listed 'Best First'.
Re^4: split problem
by Anonymous Monk on Nov 30, 2016 at 01:03 UTC

    Hi, thank you

    I've been trying to reproduce the error and I can do it by marking the array readonly

    $ perl -e " use Data::Lock qw/ dlock /; use Devel::Peek; my @f; + Dump\@f; dlock \@f; Dump\@f; $f[1]=1; "
    SV = IV(0x3f9ad8) at 0x3f9adc
      REFCNT = 1
      FLAGS = (TEMP,ROK)
      RV = 0x99bb0c
      SV = PVAV(0x3fa970) at 0x99bb0c
        REFCNT = 2
        FLAGS = (PADMY)
        ARRAY = 0x0
        FILL = -1
        MAX = -1
        ARYLEN = 0x0
        FLAGS = (REAL)
    SV = IV(0x3f9ad8) at 0x3f9adc
      REFCNT = 1
      FLAGS = (TEMP,ROK)
      RV = 0x99bb0c
      SV = PVAV(0x3fa970) at 0x99bb0c
        REFCNT = 2
        FLAGS = (PADMY,READONLY)
        ARRAY = 0x0
        FILL = -1
        MAX = -1
        ARYLEN = 0x0
        FLAGS = (REAL)
    Modification of a read-only value attempted at -e line 1.

    That split is somehow is marking it readonly is so weird :D