in reply to change perl function in runtime
EDIT: Please ignore this message, a good answer has been given above. You can alter the symbol table with *globs
The description does not really fit the title. In order to change a perl function in runtime, you would have to alter the symbol table. It can be done but it requires a lot of perl experience I think. Unless of course your function was defined as a reference to a function, in which case you can alter it as you would with any variable, which is trivial. Anyway I don't really see what you want to do.
It seems to me that what you really want is to just use 'eval':
package A; sub Y { die "aargh" } sub X { eval { Y }; if ($@) { print "humm... Y failed..." } { print "ok, no error here"; } }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: change perl function in runtime
by ColonelPanic (Friar) on Dec 03, 2012 at 15:47 UTC |
In Section
Seekers of Perl Wisdom