Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^3: A Simple Question From A Simple Man

by Athanasius (Monsignor)
on Oct 14, 2012 at 03:37 UTC ( #998910=note: print w/ replies, xml ) Need Help??


in reply to Re^2: A Simple Question From A Simple Man
in thread A Simple Question From A Simple Man

No, an array reference is a scalar:

my @array = ('Matthew', 'Mark', 'Luke', 'John'); my $array_ref = \@array; my @new_array = @{ $array_ref }; print join(', ', @new_array);

Here, @array is an array, as indicated by the “@” sigil, and $array_ref is a scalar, as per the “$” sigil. The syntax @{ ... } takes an array reference (which must be a scalar), and dereferences it to get the array it references.

Here is something to meditate on: In Perl, an array can contain any number of elements, but each element must be a scalar. So, to make complex data structures (like N-dimensional arrays or arrays of hashes) you need some way of getting non-scalars (arrays or hashes) to act as scalars so they can be elements in the larger array. Which is where references come in: they are scalars which can be used to access other things, and those other things can be non-scalars.

In addition to the reading recommendations given above by other monks, you might want to check out the Monastery’s tutorial intro to references.

Hope that helps,

Athanasius <°(((><contra mundum


Comment on Re^3: A Simple Question From A Simple Man
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2014-09-15 04:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (145 votes), past polls