I got my code to work, so the question is academic at this point, but I'm wondering why it worked the way it did....
I'm calling a sub in a module that returns an array ref, and I wanted three elements out of the array as a slice. So I did this:
Well, all that produced was a warning that Argument "" isn't numeric in aelem at ...$r = $dbh->r_sql(...); my @s = $r->[1..3];
While using my tried-and-true debugging method of "change something, try it again", I actually looked up perlref and noted that -> is just for individual elements of array refs. So I tried this:
It worked fine, but it sure looks awful.$r = $dbh->r_sql(...); my @s = @$r[1..3];
So, the question: Why can I get a single element from an array ref with ->, but not a slice? Is there a deeper reason or just parser capriciousness?
I'm using 5.005_02 on HP-UX, if it matters.
TIA
In reply to Extracting a slice from an array ref by VSarkiss
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |