Quote:

what comes to called scripts, if they are to share same namespace, they will have same names.




No, when it comes to tokenised names that is not correct.

Ok, consider two very simple scripts:

S1.KIX
Code:
Global $sApple, $sOrange

$sApple="Apple"
$sOrange="Orange"

Call S2.kix



S2.KIX
Code:
Global $sPear, $sOrange, $sApple

"Value of $$sPear is '"+$sPear+"'" ?
"Value of $$sOrange is '"+$sOrange+"'" ?
"Value of $$sApple is '"+$sApple+"'" ?



Run these and you get what you'd expect:
Quote:

Value of $sPear is ''
Value of $sOrange is 'Orange'
Value of $sApple is 'Apple'




Now, tokenise the variables:
S1.KIX
Code:
Global $1, $2

$1="Apple"
$2="Orange"

Call S2.kix



S2.KIX
Code:
Global $1, $2, $3

"Value of $$sPear is '"+$1+"'" ?
"Value of $$sOrange is '"+$2+"'" ?
"Value of $$sApple is '"+$3+"'" ?



Now when you run the scripts, you will get an incorrect result:

Quote:

Value of $sPear is 'Apple'
Value of $sOrange is 'Orange'
Value of $sApple is ''




These are contrived examples, but you can easily see why variable names must be preserved in tokenised code.