为何无法写入文件???

为何无法写入文件???

为何无法写入文件???
#!/usr/bin/perl
$filename=$ARGV[0];
$n=int(rand(26));
if($n<4){$n=4;}
@database=('A'..'Z','A'..'Z','A'..'Z');
open(FILENAME,$filename)||die("Can't file error!\n");
@filedata=<FILENAME>;
close(FILENAME);
print "@filedata\n";
$len=@filedata;
$M=0;
while(1){
$filedata[$M]=~s/a/$database[$n]/eg;
$M++;
if($len==$M){
goto end;}
}#end while
end:
print FILENAME @filedata;
close(FILENAME);
print "@filedata\n";
print "ok...\n";


File: a.txt
aaaaaaaaaaaa
aaaaaaaaaaaa
汗...你第一次都已经 clos.
汗...你第一次都已经 close(FILENAME); 后面又没重新 open 怎么写?