Matt Diephouse writes: > Is it possible to assign to an array slice? > > @array[0..4] = ( 0..4 ); # splice @array, 0, 5, 0..4
Of course. You could in Perl 5, right? > If so (and I'm hoping it is), is there an equivalent of Ruby's `[]=` > method? (Is there a way to define this behavior within my own > array-like classes?) Well, when you really get down to it, []= would be implementing the [] method to return something tied. A lot of things do that. We'll likely provide roles to make doing that not as prohibitive conceptually. > Can I use slice notation when dealing with strings? > > say $string[-1]; # say substr($string, -1); > $string[0..2] = "Hello"; No. I'm pretty sure that's the Right Thing, too. First, the "sixth element" in a string depends on how you're defining "element": byte, codepoint, grapheme, etc. Second, if you think you're using an array, and it's actually a string (even ""), then you'll be missing an error (though I understand that this is a weak argument). Third, we already have substr. Perhaps as an alternative to substr, Str could provide a slice method: $string.slice(0..2) = "Hello"; Which could massage everything to work as if it were an array of chars, whatever the heck chars are. Luke