It doesn't work because thats one of the main points of strict, you can't use symbolic references. If you want to use those references, turn off strict, but don't get mad if people yell at you.

I have no idea what your actual code looks like, but you might want to realize that m// will return a list of variables it captures in parens if you call it in list context, which will remove the need for symbolically accessing the capture variables. Example:
#badway /(foo)(bar)(baZ)/; if( $bar ) { return ${$bar}; }
(Contrived of course..)
#better way use strict; @matches = /(foo)(bar)(baz)/; if( $bar ) { return $matches[$bar]; }

In reply to Re: how to dynamically declare a varialble? by BUU
in thread how to dynamically declare a varialble? by Anonymous Monk

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.