Проблема в том, что у тебя получается символическая ссылка.
Цитата из "Advanced Perl Programming":
--------------------------------------
The strict pragma tells Perl to do strict error checking. You can even enumerate specific aspects to be strict about, one of which is `refs\':
use strict \'refs\'; # Tell Perl not to allow symbolic references
$var = "x";
$$var = 30;
This results in a run-time error whenever you try to use a symbolic reference:
Can\'t use string ("x") as a SCALAR ref while "strict refs" in use at try.pl line 3
The strict directive remains in effect until the end of the block. It can be turned off by saying no strict or, more specifically, no strict \'refs\'.
--------------------------------------