Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
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
(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: (16)
As of 2014-11-26 15:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (171 votes), past polls