“Referencing” is a drop-dead simple idea, actually: a reference is “a tiny thing” that refers to something else in memory. That thing which is referred-to may be big or small, and there may be just one reference to it or a great many. But each reference is very small and cheap. So, for example, if you have in-memory a list of “big records,” you can swap and manipulate and what-have-you those records just by playing around with lists (or arrays, or hashes) of references to them: nothing actually “moves.” This lets you build up arbitrarily-complex data structures very easily, and to work with them very efficiently. (Want to sort the same list of records by three separate keys at once, all in-memory, keeping all three lists, without making duplicate copies of anything? Feel Free.™) It’s one of the hallmarks of Perl and one of the compelling reasons for using this language.