in reply to Re: Array slices: beyond the end/ Assigning an empty list to a Hash slice
in thread Array slices: beyond the end/ Assigning an empty list to a Hash slice
Your question here seems to imply an assumption. This might be: "Why is indexing beyond the end of the list legal for a slice when it's illegal for an array?
Yes, I think I was confused by that because I did this:use strict; use warnings; use 5.014; my @arr = (); if (exists $arr[0]) { say 'yes'; } else { say 'no'; } say $arr[0]; --output:-- no Use of uninitialized value in say at 1.pl line 15.
If the subscript indicates an element that would be beyond the end of the array, the corresponding value will be undef.
For comparison:
my @arr = (undef); if (exists $arr[0]) { say 'yes'; } else { say 'no'; } say $arr[0]; --output:-- yes Use of uninitialized value $arr[0] in say at 1.pl line 14.
|
|---|