Perl Style: Avoid Symbolic References

  • Beginners often think they want to have a variable contain the name of a variable.

        $fred    = 23;
        $varname = "fred";
        ++$varname;         # $fred now 24
    
  • This works sometimes, but is a bad idea. They only work on global variables. Global variables are bad because they can easily collide accidentally.

  • They do not work under the use strict pragma

  • They are not true references and consequently are not reference counted or garbage collected.

  • Use a hash or a real reference instead.


Forward to Using A Hash Instead of $$name
Back to Avoid Byte Processing
Up to index

Copyright © 1998, Tom Christiansen All rights reserved.

Tags

Feedback

Something wrong with this article? Help us out by opening an issue or pull request on GitHub

TPRF Gold Sponsor
TPRF Silver Sponsor
TPRF Bronze Sponsor