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