in reply to Calling a variable value as a variable

To avoid pulling out large chunks of hair and depositing them by the keyboard in future, always start your scripts with:

use strict; use warnings;

As for why symbolic references should be avoided, see the classic three part series by MJD: part 1 and part 2 and part 3.