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

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
ARRAY = 0x0
FILL = -1
MAX = -1
ARYLEN = 0x0
FLAGS = (REAL)
REFCNT = 1
FLAGS = (TEMP,ROK)
RV = 0x99bb0c
SV = PVAV(0x3fa970) at 0x99bb0c
REFCNT = 2
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

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?