Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: difference between pointer and referrence in perl

by Marshall (Canon)
on Aug 26, 2009 at 22:45 UTC ( #791477=note: print w/replies, xml ) Need Help??

in reply to difference between pointer and referrence in perl

A C pointer points to a memory location. That's pretty much it.
What will happen when you deference that pointer depends upon what other 'C' statements have defined the "thing" that lives at that memory location. The 'C' language would be worthless if it didn't have the abilty to increment a pointer to memory by an unknown number of bytes between different things in memory, based upon a sort of definition of the memory layout. In other words, 'C' "knows" how big an individual "thing" is.

What 'C' doesn't know is: how many of those "things" exist, but Perl does know. A Perl reference points to a "Perl thing" like: a hash table or an array or a scalar or even a Perl reference to one of these things.

Unlike 'C', a Perl "thing" knows how big it is.

The most common error in 'C' is "off by one" array indicies. Perl helps a lot with these iterators. For example: foreach my $x(@some_array). I don't need to know how big @some_array is, I will get an x for every value in @some_array. In 'C', I have to know explictly how "big it is" or have some other way of finding out (like a signal value in that array).

  • Comment on Re: difference between pointer and referrence in perl

Replies are listed 'Best First'.
Re^2: difference between pointer and referrence in perl
by sir_com (Acolyte) on Aug 28, 2009 at 13:51 UTC
    Hi Monks, Thanks to you all for sharing your knowledge with me. sir_com

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2021-06-19 06:00 GMT
Find Nodes?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)

    Results (91 votes). Check out past polls.