发信人: 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]
  | 
 
 
 |