Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
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."

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,

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010823]
help
Chatterbox?
[Corion]: choroba: No, some general admin discussion of how to handle (company) user accounts
[Discipulus]: might be it is necessary to pass the pic data like MIME::Base64:: encode( data..
[Discipulus]: if you have a jpeg data: or as wise Corion said IM ca n read directly your handle
[Corion]: Meh. I get the feeling I should post a call-to-action for people to test their modules with the upcoming 5.26 (or 5.25.latest), as it seems that the smoke testers don't really weed out modules that fail without . in @INC
[Corion]: But without instructions on how to easily test things yourself, I don't think such a call to arms is helpful

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (8)
As of 2017-03-27 08:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should Pluto Get Its Planethood Back?



    Results (317 votes). Check out past polls.