Actually, there is a second issue besides constructing a literal anonymous hash, which is complicating your case.

It's the difference between run time vs compile time behavior.

use will execute at compile time, so does your construct. Any code you depend on to be run before must also be executed at compile time, like in a BEGIN block.

See perlmod for more on execution phases.

Update

And here a suggestion which seems best to be maintained IMHO.

(untested hack into mobile browser)

my %characters; BEGIN { my $char = 0xE000; %characters = map { $_ => $char++ } ( 'first character', 'second character', 'third character' ); } use charnames ":alias" => \%characters;

you may also consider putting your rather complicated specialized configuration array into a module of your own, which is executed with use

This will automatically happen at compile time, and provide you with a clean interface

Cheers Rolf
(addicted to the Perl Programming Language :)
see Wikisyntax for the Monastery


In reply to Re^3: create an anonymous hash using "map" (compile time) by LanX
in thread create an anonymous hash using "map" by raygun

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.