Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

references quick reference (Re: push)

by tye (Cardinal)
on Jan 31, 2001 at 00:09 UTC ( #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")


Comment on references quick reference (Re: push)
Select or Download Code
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
Node Status?
node history
Node Type: note [id://55329]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (18)
As of 2015-07-28 13:51 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 (255 votes), past polls