geekondemand,
Are there any tricks to do this elegantly with existing modules rather than writing my own tie module. I'm looking for building bocks and combinator methods that combine two tied hashes to make a new tied hash.

Well, Tie::Hash is a base class for tied hashes so your foundation is already in place. You just need to overide a few methods such as STORE (to make it read only) and FETCH (to check exists on the internal dispatch table and invoke or fall back to your default method).

I will leave the implementation up to you, but please come back if you need help with specifics. If you need an example of a tied hash that uses multiple underlying datastructures (with support for initializing options in the constructor), take a look at Tie::Hash::Sorted. I used a hash and an array under the covers.

Cheers - L~R


In reply to Re: Tie with dispatch table by Limbic~Region
in thread Tie with dispatch table by geekondemand

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.