My understanding is that a module must be explicitly (Update: although perhaps indirectly) loaded via use, require or do for any name collision to occur.
The example code of the OP seems to have been changed in some way to make it 'clearer', and the exact invocation of the program is not given, but no such loading of the B module seems to have been done, so no name collision could happen.
In reply to Re^2: DESTROY problem
by AnomalousMonk
in thread DESTROY problem
by 7stud
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |