Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^2: -> Is Optional ?

by roho (Abbot)
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."


Comment on Re^2: -> Is Optional ?
Download Code
Re^3: -> Is Optional ?
by Athanasius (Abbot) 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,

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010823]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2015-07-06 00:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (68 votes), past polls