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).


In reply to Re: difference between pointer and referrence in perl by Marshall
in thread difference between pointer and referrence in perl by sir_com

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.