in reply to Array slices: beyond the end/ Assigning an empty list to a Hash slice

The most important bit of the first part of your question is probably this:
More generally, a slice yields the empty list if it indexes only beyond the end of a list
And yeah, this does scream inconsistency to me!
@a = (1)[1,0]; # @a has two elements # OK, this one is fine # but what about these: @b = (1,undef)[1,0,2]; # @b has three elements # where does that third element come from? # or we could rewrite the above B case like this # and still get three elements: @b = (1)[1,0,2]; # why three and not *TWO*? @a = (1)[ 1,2]; # @a has no elements # !?
Great question, thanks for bringing this up.
  • Comment on Re: Array slices: beyond the end/ Assigning an empty list to a Hash slice
  • Download Code