gawk中$0困惑

gawk中$0困惑

在gawk中使用 while(getline<"js")语句,之后用close("js")关闭,再print $0,结果还是js文件的内容,真实奇怪,js文件已经关闭了,为什么$0没变?      
给个完整的程序例子吧      
大抵是这个样子吧:
引用:
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=20647 $?=0] ; cat file
hello
world
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=20647 $?=0] ; cat file.awk
#!/usr/bin/awk -f

BEGIN {
    sFileName = "file"
    while (getline < sFileName) {
        print $0
    }
    close sFileName
    print $0
}
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=20647 $?=0] ; ./file.awk
hello
world
world
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=20647 $?=0] ; bye
      
close 一个文件没有充分的理由要求它要清掉 $0 里面旧有的数据, 俺认为是可以接受的. 既然已经知道了 awk 的这种行为, 使用时自己注意点儿就是了       
明白了.......