Introducing PadWalker 

use PadWalker qw(var_name);

sub my_func {
    my($var) = @_;
    print var_name(1, \$var);   # Won't work
}