You can make b an alias for a with *b = *a. This means that $a and $b refer to the same variable, as do @a and @b, and even filehandles and formats a and b. You can also localize *b inside a block with local(*b), and that lets you have local filehandles and formats and other things. Pretty fancy stuff, but useful when you need it.