Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

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 :-)

Chris
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 (Cardinal) 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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (15)
As of 2015-07-31 13:40 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 (277 votes), past polls