Ahh, wisdom you seek. And some wisdom different from what you see here I can provide.
You have a class Myclass yes?
use strict;
package Myclass;
sub foo { return 1; }
1;
Seeing the folly of your ways, you come to realize that the code must be
use strict;
package Myclass;
sub foo { return 42; }
1;
Search this program below for the answer
use strict;
use Myclass;
print "Foo is " . &Myclass::foo . "\n";
print "Modify the file and hit enter\n";
<STDIN>;
do 'Myclass.pm';
print "Foo is " . &Myclass::foo . "\n";
And thus does "do".
But note, that if we delete foo, the function remains in the symbol table, and thus stays. A more through approach would clobber the table elements from the package. Class variables are vulnerable as well. And use warnings will warn.
In your service,
---
crulx
crulx@iaxs.net