in reply to Re^3: Modifying/extending a superclass' data
in thread Modifying/extending a superclass' data

Your best bet may be to do a copy/paste into your subclass and modify it that way.

Yeuck! - there are over two thousand entries in that hash.. <grin />

I've changed %M::E::ENTITIES to have "our" scope - which seems to work. My only worry is missing some problem about memory leak, an oversized memory foot-print, or soke form of data-clash - but the scoping should take care of that...

:-)



-- Ian Stuart
A man depriving some poor village, somewhere, of a first-class idiot.
  • Comment on Re^4: Modifying/extending a superclass' data

Replies are listed 'Best First'.
Re^5: Modifying/extending a superclass' data
by xdg (Monsignor) on Nov 17, 2005 at 15:03 UTC

    Oh! I wasn't clear that you controlled both. You could do a form of protected access that returns a reference to the structure. (Breaking encapsulation in a limited way).

    # in MathML::Entities my %ENTITIES; sub _get_entity_hash { my $caller = caller; if ( $caller->isa("MathML::Entities") ) { return \%ENTITIES; } else { die "_get_entity_hash can't be called from $caller" } }

    -xdg

    Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

      Oh! I wasn't clear that you controlled both.

      It's Perl... it's a text-file.. I can edit it ;-)

      The accessor class is interesting though... thanks!



      -- Ian Stuart
      A man depriving some poor village, somewhere, of a first-class idiot.