in reply to
variable constructs that I do not understand
Perl allows you to use the value of one scalar as the identifier for another. Rarely is it a good idea, but occasionally it is useful.
$var = 'foo';
$foo = 'bar';
print $var; # Will print "foo"
print $$var; # Will print "bar"
Also, you can use curly braces around a variable when it might be confusing to the compiler what you mean.
$foo = 'foo';
print "$food"; # Will print nothing (no scalar $food is defined)
print "${foo}d"; # Will print 'food' as expected