When a variable contains "a reference," anything that you do to it is automatically and transparently conveyed to act upon its "target." But, that very same variable could at some time cease to contain a "reference" value and, instead, contain an ordinary scalar value, in which case it would behave altogether differently than before.
From perlref:
References are easy to use in Perl. There is just one overriding principle: in general, Perl does no implicit referencing or dereferencing. When a scalar is holding a reference, it always behaves as a simple scalar. It doesn't magically start being an array or hash or subroutine; you have to tell it explicitly to do so, by dereferencing it.
Dereferencing is a general concept that applies to many programming languages.