Beefy Boxes and Bandwidth Generously Provided by pair Networks Frank
We don't bite newbies here... much
 
PerlMonks  

Re: Alias vs Reference

by BrowserUk (Pope)
on Jun 16, 2012 at 04:42 UTC ( #976526=note: print w/ replies, xml ) Need Help??


in reply to Alias vs Reference

What exactly is the difference between an alias and a reference?
  • An alias is another name that refers to the same thing as the first.

    In your first example, $_ is another name that can be used to refer to each of the elements $arr[0], $arr[1] etc. in turn.

  • A reference, is the "address" of the thing it references.

    If your second example, $aref refers to the entire array. To get to individual elements of that array you must dereference it and index it. eg. $aref->[0], $aref->[1] etc.

how can I create an alias explicitly (without using any extra module).

You can do this using typeglobs.

Eg.

#! perl -slw use strict; ## An array with some contents my @array = 'a'..'z'; ## Tell strict we are going to use a global our @alias; ## Set the array reference of the typeglob *alias ## to point to the lexical array we set up earlier *alias = \@array; ## Now when we use @alias, we are (also) using @array print $alias[ 0 ], ' : ', $alias[ 25 ]; ## changes to either affect both ## Or rather change via either name ## affect the same storage $alias[ 0 ] = 'fred'; $array[ 25 ] = 'bill'; print $alias[ 0 ], ' : ', $alias[ 25 ]; print $array[ 0 ], ' : ', $array[ 25 ]; __END__ C:\test>junk a : z fred : bill fred : bill

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?


Comment on Re: Alias vs Reference
Select or Download Code
Re^2: Alias vs Reference
by cheekuperl (Monk) on Jun 16, 2012 at 05:01 UTC
    Thanks! That clears all confusion!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (13)
As of 2013-05-22 04:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best material for plates (tableware) is:









    Results (453 votes), past polls