发信人: chenwen()
整理人: workingnow(2002-10-30 13:56:47), 站内信件
|
指令:die
语法:die LIST
说明:会把LIST字符串显示出来,并退出程序。常常和$!这个代表错误信
息变量一起使用。
示例:
open(FILE,"$filename")||die "不能打开文件$!\n;
如果打开文件失败的话,就会显示出错误的信息,之后再退出程序。
指令:open
语法1:open(filehandle,"$filename")
其中$filename是一个指定打开的文件名。
说明:这是一个很常用的函数,可用于文件的打开(read only)。在CGI
程序设计中常常会打开一个文件来读取数据,所以笔者会详加说明这一个
函数相关用法。这个filehandle可把它看作在I(INPUT)/O(OUTPUT)之间的
一个桥梁,可以利用FILEHANDLE来作出数据读入写出的动作。开始可用OPEN
这个函数来打开一个指定的文件,接下来可以用<filehandle>来读取所
打开文件的数据内容,最后一定要用close这个函数来关闭这个之前打开的
filehandle。要注意的是在CGI程序定作中,当用OPEN这个函数来打开一个
文件时,一定要在打开文件前加上文件所在的绝对路径名称。
示例:
$filename="usr/abc.txt";
open(FILE,"$filename")||die"不能打开文件$filename\n;
#将<file>数据指定给纯变量$line(一行一行地)
while($line=<file>){
print"$line";
}
close(file);
就会把abc.txt这个文件的内容显示出来。
语法2:open(filehandle,"<$filename")
说明: 这个语法也可以打开一个存在的文件(read only)。
示例:
$filesname="usr/abc.txt";
open(file,"<$filename")||die"不能打开文件$filename\n";
@array=<file> #将<file>全部的数据内容都指定给数组@array
close(file);
print "@array";
也会把abc.TXT这个文件的内容显示出来。
语法3: open(filehandle,">$filename")
说明: 建立一个新的文件(write only),如果已经存在这个文件了,就会把旧文 件名覆盖掉。并可用print fi
handle的方式将数据到所打开的文件中。
示例:
$filename="/usr/abc.txt";
open(file,">$filename")||die"不能打开文件$filename\n;
print file"this is a new line1\n; #\n是换行字符
print file"this is a new line2\n;
close(file);
会打数据存在一个新文件中。
语法4: open(filehandle,">>$filename")
说明: 数据用附加的方式定入一文件(write only),如果指定的文件名
不存在的话就会建立一个新的文件。
示例:
$filename="/path/abc.txt";
open(file,">>$filename")||die"不能打开文件$filename\n";
print file "this is a new line1\n";
print file "this is a new line2\n";
close(file);
会打数据附加(append)到一个文件(abc.txt)中。
语法5:open(filehandle,"|unix command")
说明:就会把在filehandle的数据输入给unix的指令来作处理。
示例:
$mailprog="/usr/ucb/mail"; #unix系统上的寄信程序(一定要加绝对路径 )
$who="[email protected]";
$open(file,"|$mailprog$who")||die"打开失败\n";
print file"I love you!\n";
print file"I want to see you.\n";
close(file);
就会通过unix系统mail的程序,将FILE这个FILEHANDLE的数据内容寄
给$who这个变量所指定的收信人。
我们可以利用open这个函数来设计一个来信批评CGI应用程序,在本书
中的下一章中会有详细的介绍。
指令:close
用法:close(filehandle)
说明:用open这个函数来打开一个filehandle之后,一定要用close批这个
函数把所打开的filehandle关闭。
示例:
open(filehandle,"$filename");
close(filehandle);
指令:pack
语法:pack("指定的格式",list)
说明:pack这个函数会将一个list变成所指定的二进制数据格式。
在CGI程序分割解码过程中,会用到pack这个函数,所以笔者在此简
单介绍这个函数的用法。
示例:
$string=pack("c",65); #这时$string="a";
将65这个ascii码转换成一个unsigned字符,其中c就是指定要
转换成unsigned字符的意思。
指令:read
语法:read(filehandle,$string,length)
其中length是代表读入字符串的长度(bytes)。
说明:用read这个函数把filehandle中的数据依指定的字符串长度读
入之后指派给$string这个变量。在cgi程序分割解码过程中,如果FORM
的传送方式是设定为POST的话,就会将传送的数据设定为标准输入,所
以会将数据内容指定给STDIN这个标准输入的filehandle,而CGI环境变
量$env{'content_length'}就是代表使用者送出数据内容的长度,因此
我们要用read这个函数来取得使用者送出的数据内容。
示例:
read(stdin,$buffer,$env{'content_length'});
就会将stdin这个标准输入filehandle中的数据依指定的字符串
长度读入,再指派给$buffer这个变量。
指令:exit
语法:exit
说明:退出执行的程序。
示例:
print"i love cgi\n";
exit;
显示完"i love cgi"以后,将退出这个程序。
-- I'm the KING of the world !
Homepage: http://chenwen.yeah.net
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.202.96.252]
|
|