Brian L. Matthews explains it here as follows:
- A reference is not a memory address. If you go to the memory address corresponding to the scalar value of a reference you will not find your data there.
- A reference contains type information. A mere memory address, on the other hand, contains no type information and thus can store any object.
- Larry Wall intentionally decided to use the term "reference" rather than "pointer" so that people would understand that Perl is not pointing to a memory address.
As Larry points out, Perl is not appropriate for all applications. For example, Perl itself is not written in Perl, it is written in C. If you have an application which requires low-level manipulation of the contents of memory addresses then that application is not an appropriate candidate for coding in Perl.
Furthermore, it says in the Learning Perl book by our own Merlyn et al that a reference is somewhat like a pointer, but it is safer. Presumably one reason that a reference is safer is that one cannot easily manipulate references to poke holes that can be exploited in an operating system.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|