Is there a reason you don't want to re-read the module? Once the module is open, reading it again doesn't re-open the module unless you are closing it each time.
However an alternative is to store the module handle in the skip list instead of the module name.
put(sInlink, str, m2)
Then instead of:
if(!find(sInlink, str, str2))
use:
if(!find(sInlink, str, m2))
If str
is found it will put the module handle in m2
, if not you can continue with your read as you are doing.
And just in case you don't already have this, you should loop through the skip list and close all the modules at the end of your code.
for m2 in sInlink do
{
if(!null m2) close m2
}
Good luck!