Question: Why can not I change the variable, which is read from a *.m file inside a procedure?

> restart; myfl := "tst.m":
 
 b := 2*z: 
 f := fopen(myfl, 'WRITE', 'TEXT'):
 save b, myfl: 
 close(f):

> restart; myfl := "tst.m":
z := k:
read myfl:
b;   #
this gives 2 k, which is OK! 

restart; myfl := "tst.m":
u := proc ()
local z,w;
z:=k:
read myfl;
w := b;
eval(w)
end proc;

> u(); # why u():=2 z, but not 2 k ? Where is my mistake? 

Please Wait...