I believe the important thing to understand (and this may not be a precise definition), is
that the
context in which you use a scalar determines how it is manipulated.
That's why there are, for example, different operators
== !=for numbers,
eq ne for strings.
You can read more on this in
perldata, under 'scalars'.
--- perchance