Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^2: Don't know how to make a module for this repeating code

by exilepanda (Monk)
on Nov 24, 2012 at 17:06 UTC ( #1005399=note: print w/ replies, xml ) Need Help??


in reply to Re: Don't know how to make a module for this repeating code
in thread Don't know how to make a module for this repeating code

Thanks for answering, and helped me to think deeper for what is my question...

So, I think my problem is not worrying how to create this package. Perhaps I can make a module to auto update the interface version triggered by the implementation classes as well.

But then, seems what really interested me is how to eliminate this kind of "code", when this code is a constructor. like.. can I eval() some text which return from a package that carrying the script body etc..


Comment on Re^2: Don't know how to make a module for this repeating code
Re^3: Don't know how to make a module for this repeating code
by Anonymous Monk on Nov 25, 2012 at 10:21 UTC

    can I eval() some text which return from a package that carrying the script body etc..

    What does that mean?

      umm... perhaps I can create something like this:
      package ExtConstructor; sub new { return <<" CODE"; eval 'use parent "parent::classes"'; sub new { return bless $_[0]->SUPER::new(); } CODE } 1; package Interface::Module; use ExtConstructor; my $code = new ExtConstructor; eval $code; # so that the constructor code created on-the-fly 1; package main; use Interface::Module; my $obj = new Interface::Module;

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1005399]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (11)
As of 2014-08-27 20:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (252 votes), past polls