I was tinkering with some code tonight and realized a clean way to solve a problem was to pass an array of references to a sub. Problem was the entities I wanted references to were being obtained as a slice of an array. So I tried what seemed to me to be the obvious thing:
my @sliceRefs = \@array[4, 5, 9];
and what do ya know? It just worked!
After I had tried the construct and it worked I had a vague memory of reading about it somewhere, but I sure can't find it now. It's not in the slice section in perldata and I can't find anything in perlref. Not that it matters. DWIM rules, but I'd be interested to find where it is documented.
Oh, you want to test it for yourself? Try:
my @array = (1 .. 10); my @sliceRefs = \@array[4, 5, 9]; ${$sliceRefs[2]} = -10; print "@array";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: referencing slices - love that DWIM
by BrowserUk (Patriarch) on May 17, 2008 at 11:11 UTC | |
by GrandFather (Saint) on May 17, 2008 at 11:59 UTC | |
by almut (Canon) on May 17, 2008 at 12:42 UTC | |
by syphilis (Archbishop) on May 17, 2008 at 13:35 UTC | |
by Fletch (Bishop) on May 17, 2008 at 13:39 UTC | |
| |
by almut (Canon) on May 17, 2008 at 14:15 UTC | |
| |
by ysth (Canon) on May 18, 2008 at 05:57 UTC | |
|