这是用于将数据写入文件的测试代码段,
open(OUT_FILE, ">", $destfile)||die("can not open file!");
select(OUT_FILE);
binmode(OUT_FILE);
printf "test file name:\t'%s'\n", $destfile;
writebinary(OUT_FILE,pack('H*', $name))
datatest.txt中附加了日志消息“测试文件名:datatest.txt” 怎么了?
答案 0 :(得分:3)
您已经select
设置了文件句柄<textarea>
。 #email.panel-control
将使OUT_FILE
和select
的输出转到选定的句柄,而不是默认选择的print
。
将呼叫转移到printf
。您不需要它。
请注意,您的代码是非常老式的。考虑到词法文件句柄和适当的错误处理,可以将其重写如下:
STDOUT
您当然没有告诉我们select
的作用。您可能需要在那里进行更改。但是请记住,全局文件句柄是全局的,程序的其他部分可能会与您的open my $fh, '>', $destfile or die "Can't open file '$destfile': $!";
binmode $fh;
printf "test file name:\t'%s'\n", $destfile;
writebinary($fh, pack('H*', $name));
混淆。