Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: References quick reference

by lachoy (Parson)
on Apr 05, 2001 at 03:46 UTC ( #69946=note: print w/ replies, xml ) Need Help??

in reply to References quick reference

Great summary. Personally, I find the following:

@{$aRefs[0]} @{$aRefs{key}} @{getArrayRef()} %{$hRefs[0]} %{$hRefs{key}} %{getHashRef()}

much cleaner and easier to read than:

@array @$aRef %hash %$hRef $array[0] $$aref[0] $hash{KEY} $$href{KEY}

Maybe it's just me, but I've been using perl for 4+ years and I have never liked stringing the variable characters one after the other (%$). Particularly epxressions like the third and fourth line in the second group above.

I've always thought that using the @{ } %{ } syntax more clearly and consistently evoked what I'm trying to say -- you can use it with variables, method calls/subroutines, etc. I'm interested if other folks feel differently -- it seems to be a matter of taste rather than an opportunity to define yet another One True Way :-)

M-x auto-bs-mode

Comment on Re: References quick reference
Select or Download Code
Replies are listed 'Best First'.
(tye)Re2: References quick reference
by tye (Sage) on Apr 05, 2001 at 21:44 UTC

    I definitely avoid $$hRef{key} and $$aRef[0] (using $hRef->{key} instead). But I don't really like @{...} much (too hard to match up the open and close braces) so I prefer @$aRef and %$hRef to the versions with {}. For @{$aRefs{key}} I have no choice.

    But when (and if) a version of Perl comes out with "the patch" applied, I'll be switching to nearly exclusively using -> to deference. This patch allows $aRef->@, $hRef->%, $aRef->@[1..5], etc. which are particularly nice for cases like $aRefs->{key}->[0]->getList()->@[2..6].

            - tye (but my friends call me "Tye")
Re^2: References quick reference
by gobisankar (Acolyte) on Apr 30, 2010 at 07:03 UTC
    Very good...

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (10)
As of 2015-11-30 22:03 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (785 votes), past polls