Simply put, symbolic refs are strings that contain the name of a (package global) variable, that you can use as a reference. Using use strict 'refs'; disables this (often too powerful and bug-prone) feature.

For example:

no strict 'refs'; $bla = "something"; $blaref = "bla"; $$blaref = "something else"; print $bla; # prints "something else"
Note that if you get the value of $blaref wrong, you'll just reference (and probably create) another variable without any warning whatsoever.

Just about the only reason to use symbolic reference nowadays is to dynamically create named subroutines or classes (i.e. setting @{"${classname}::ISA"})

my $subname = "packagename::some_sub"; no strict 'refs'; # note that we use a typeglob here *$subname = sub { print "Hello from subroutine $subname"; }; packagename::some_sub();
See also perldata on typeglobs. and perlmod on Symbol tables

In reply to Re: Symbolic References by Joost
in thread Symbolic References by brickwall

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.