Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

references quick reference (Re: push)

by tye (Sage)
on Jan 31, 2001 at 00:09 UTC ( [id://55329]=note: print w/replies, xml ) Need Help??


in reply to push

  • To use a reference, say $ref, you put {$ref} in place of a variable name (not counting the $, %, or @):
    $scalar ${$sRef} @array @{$aRef} $array[0] ${$aRef}[0] $#array $#{$aRef} %hash %{$hRef} $hash{KEY} ${$hRef}{KEY} @hash{@list} @{$hRef}{@list}
  • If the reference is held in a simple scalar variable, then the { and } can be dropped:
    $scalar $$sRef @array @$aRef $array[0] $$aRef[0] $#array $#$aRef %hash %$hRef $hash{KEY} $$hRef{KEY} @hash{@list} @$hRef{@list}
  • If you are getting a scalar from a hash or array, then you can replace ${$ref} with $ref->:
    $array[0] $aRef->[0] $hash{KEY} $hRef->{KEY}
  • If the reference is in a hash or array, then you can drop the -> between the adjacent [0] and {KEY}:
    ${$aRef->[0]}[1] $aRef->[0]->[1] $aRef->[0][1] ${$aRef->[0]}{KEY} $aRef->[0]->{KEY} $aRef->[0]{KEY} ${$hRef->{KEY}}[1] $hRef->{KEY}->[1] $hRef->{KEY}[1] ${$hRef->{A}}{B} $hRef->{A}->{B} $hRef->{A}{B}

I hope that makes things much clearer.

        - tye (but my friends call me "Tye")

Replies are listed 'Best First'.
Re: references quick reference (Re: push)
by a (Friar) on Apr 03, 2001 at 08:46 UTC
    And if I want to ref the entire hash/array (as in a foreach loop) what's the syntax?
    foreach my $array_elem ( @{ $href->{$key} } ) {
    works (I hope) but shouldn't there be a:
    foreach my $array_elem ( $href->{$key}->@ ) {
    sort of way to do this?

    a

      I like the option you describe and I recall patches to implement that making it to p5p but I'm not sure whether they got accepted nor which version of Perl they will appear in.

              - tye (but my friends call me "Tye")
Re: references quick reference (Re: push)
by malaga (Pilgrim) on Jan 31, 2001 at 00:17 UTC
    thanks. i think i better get some cafeine and do some studying.
      make that caffeine.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2025-05-24 23:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.