代码详解
#********* BEGIN BODY********************
open (LOGFILE, ">>guestbook.log");
$newline=join(’::’,@value);
print LOGFILE ("$newline\n");
close LOGFILE;
print "<BODY BGCOLOR=’BEIGE’><H1>Thank you. ";
print "Your comments have been added</H1>";
#******** END BODY************************
--------------------------------------------------------------------------------
代码的第一行是:
open (LOGFILE, ">>guestbook.log");
这行为要写的guestbook.log做准备。open命令用来打开文件进行输入和输出。这里的"LOGFILE"称为文件句柄。后面,当我想对guestbook.log文件进行附加操作时,可以用print LOGFILE。对于程序的其余部分,LOGFILE就表示guestbook.log。后面的文件名以两个大于号开始,这是常用的文件操作方式中的一种,我们常用的操作方式有三种:
< - 打开文件进行输入操作(读文件)。
> - 打开文件进行写操作(覆盖文件)。
>> - 附加操作。
下一行是join语句。这是一个把数据加入无限制的文本文件的非常有用的工具。$newline=join(’::’,@value); 表示在数组@value中的每个值之间加入两个分号。
$newline现在包含的内容为:
Robert::Young::5 Main St.::Anytown::MA::02177::(617) 555-1212::robyoung@mediaone.net::on::This is Great
现在可以把$newline加入到guestbook.cgi的最后。因为log文件已经有了一个句柄,可以这样操作:
print LOGFILE ("$newline\n");
并且在$newline后面加一个换行符,以后在加新内容时,将以新行开始。
close LOGFILE;
- 关闭文件。
最后,在屏幕上输出一些信息。这不只是礼节。所以可以这样:
print "<BODY BGCOLOR=\’BEIGE\’><H1>Thank you. Your comments have been added</H1>";