Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: split problem

by kennethk (Abbot)
on Nov 29, 2016 at 23:23 UTC ( #1176875=note: print w/replies, xml ) Need Help??


in reply to Re: 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.
use strict; use 5.10.0; my @flds; $flds[16] = undef; say 0+ @flds;
I can see no rational reason to treat an array holding the results of a split differently other arrays.

#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.

Replies are listed 'Best First'.
Re^3: split problem
by kcott (Archbishop) on Nov 30, 2016 at 00:09 UTC
    "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

      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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1176875]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2022-08-18 07:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?