精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● CGI>>初学乍用>>Perl程序设计中常用的函数(三)

主题:Perl程序设计中常用的函数(三)
发信人: 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
这个函数来打开一个指定的文件,接下来可以用&ltfilehandle>来读取所
打开文件的数据内容,最后一定要用close这个函数来关闭这个之前打开的
filehandle。要注意的是在CGI程序定作中,当用OPEN这个函数来打开一个
文件时,一定要在打开文件前加上文件所在的绝对路径名称。
 示例:
       $filename="usr/abc.txt";
       open(FILE,"$filename")||die"不能打开文件$filename\n;
       #将&ltfile>数据指定给纯变量$line(一行一行地)
       while($line=&ltfile>){
           print"$line";
       }
       close(file);
       就会把abc.txt这个文件的内容显示出来。
 语法2:open(filehandle,"<$filename")
说明: 这个语法也可以打开一个存在的文件(read only)。
示例:
$filesname="usr/abc.txt";
open(file,"<$filename")||die"不能打开文件$filename\n";
@array=<file>    #将&ltfile>全部的数据内容都指定给数组@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]

[关闭][返回]