Your skill will accomplishwhat the force of many cannot PerlMonks

### Re^2: -> Is Optional ?

by roho (Canon)
 on Dec 29, 2012 at 16:15 UTC ( #1010823=note: print w/replies, xml ) Need Help??

in reply to Re: -> Is Optional ?
in thread -> Is Optional ?

Thanks for your sample code roboticus. I copied and ran it and discovered that an extra level of dereferencing is required. This was a good exercise in reference accessing. Below is your code with the modifications for the extra level of dereferencing. (Note: I commented out the line labeled "Wrong" so it would compile and run) Thanks again!

```my @a = [ 1, 4, 9, 16];  # squares
my @b = [ 1, 8, 27, 64]; # cubes
my @c = [ \@a, \@b ];    # two arrays

my \$d = \@a;
my \$e = \@c;

# OK: @a is an array
print "Sample1: ", \$a[0]->[0], "\n";

# Wrong: "Sample1: ", \$d is a reference, not an array!
#print "Sample2: ", \$d[0], "\n";

# OK: Both of these are fine, though
print "Sample3: ", \$d->[0]->[0], "\n";
print "Sample4: ", \$\$d[0]->[0],  "\n";

# with multiple subscripts:
print "Sample5: ", \$e->[0]->[0]->[0]->[0], "\n";
print "Sample6: ", \$e->[0][0][0][0],       "\n";  # same as above, sin
+ce -> is optional between subscripts
print "Sample7: ", \$\$e[0][0][0][0],        "\n";  # also same as above

"Its not how hard you work, its how much you get done."

Replies are listed 'Best First'.
Re^3: -> Is Optional ?
by Athanasius (Chancellor) on Dec 29, 2012 at 16:34 UTC

The line

```my @a = [ 1, 4, 9, 16 ];  # squares

creates an anonymous array with 4 elements, and assigns a reference to this anonymous array — i.e., a single, scalar value — to be the first (and only) element of the named array @a.

I suspect that parentheses were intended rather than square brackets:

```my @a = ( 1, 4,  9, 16 );  # squares
my @b = ( 1, 8, 27, 64 );  # cubes
my @c = ( \@a, \@b );      # two arrays

and then the rest of the original code behaves as intended.

Hope that helps,

 Athanasius <°(((>< contra mundum Iustus alius egestas vitae, eros Piratica,

Create A New User
Node Status?
node history
Node Type: note [id://1010823]
help
Chatterbox?
and the universe expands...

How do I use this? | Other CB clients
Other Users?
As of 2018-01-21 01:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
How did you see in the new year?

Results (227 votes). Check out past polls.

Notices?