|
|
| We don't bite newbies here... much | |
| PerlMonks |
Core module: Attribute::Handlers behaviourby enigma (Novice) |
| on Oct 20, 2012 at 06:24 UTC ( #1000101=perlquestion: print w/ replies, xml ) | Need Help?? |
|
enigma has asked for the
wisdom of the Perl Monks concerning the following question:
Hello perlmonks, Aim: To start tracing of the module flow in my project once execution started based on user choice. Description: When user wants to see the trace of the module file he/she enable the traceing just by setting the trace parameter to TRUE in project configuration file (before starting the execution). Solution: Tried Core module: use Attribute::Handlers; Flow: Once the execution started it first check the trace parameter value and if it is TRUE then it reads the module file and changes the subroutine with sub foo: TRACE {...} and adds the Core module "Attribute::Handlers" as shown above. Once the new module is generated, then we try to load it dynamically - eval "use module_name;"; Result: module_name module gets loaded successfully and i can call its subroutines, but those subroutines shows normal behaviour i.e. it is not using sub TRACE: ATTR {...} present in the module. Validated: I tried to load the new modifiled module using static loading,like ... use module_name; It is loading successfully and using the TRACE sub for ATTR. I need your help here to understand this behaviour change in core module when using with eval i.e. loading dynamically. Please let me know how i can make it correct without changing the design of the code. Thanks.
Back to
Seekers of Perl Wisdom
|
|