in reply to Symbolic References

Simply put, symbolic refs are strings that contain the name of a (package global) variable, that you can use as a reference. Using use strict 'refs'; disables this (often too powerful and bug-prone) feature.

For example:

no strict 'refs'; $bla = "something"; $blaref = "bla"; $$blaref = "something else"; print $bla; # prints "something else"
Note that if you get the value of $blaref wrong, you'll just reference (and probably create) another variable without any warning whatsoever.

Just about the only reason to use symbolic reference nowadays is to dynamically create named subroutines or classes (i.e. setting @{"${classname}::ISA"})

my $subname = "packagename::some_sub"; no strict 'refs'; # note that we use a typeglob here *$subname = sub { print "Hello from subroutine $subname"; }; packagename::some_sub();
See also perldata on typeglobs. and perlmod on Symbol tables