|
Perl在CGI程序设计中常用的函数
-------------------------------------------------------------------------------- 指令:# 说明:注解符号Remark宣告 范例:#本程序是一个示范注解说明
-------------------------------------------------------------------------------- 指令:print 语法一:print Filehandle LIST 说明:这个Filehandle可把它看作在I(Input)/O(Output)间的一个桥梁,可以利用Filehandle来做出数据读入写出的动作。stdin是代表从哪边输入数据,例如从电脑的键盘输入,stdout是代表从哪边输出数据;例如从电脑的屏幕输出;stderr是代表从哪边输出错误的数据,例如从电脑的屏幕输出。而在Perl语言中有三个标准的Filehandle: (一)STDIN(标准输入):是代表stdin的Filehandle (二)STDOUT(标准输出):是代表stdout的Filehandle (三)STDERR(标准错误输出):是代表stderr的Filehandle 如果要使用其他Filehandle的时候,就要用open这个函数来打开一个Filehandle,我们可以用print这个函数把LIST的数据输出给Filehandle。在为大家介绍print这个函数之前,先让我们来看看print函数中特殊打印符号字符: 符号 内定含意 n 换行New Line r 光标换行Return t Tab键 f 换页Form feed b 退回一键Backspace v 垂直Tab键 a 响铃Bell 07 十进制ASCII码 xff 十六进制码 c[ 控制字符 范例: print STDOUT"i love perln"; 将“i love perl"再加上换行显示于屏幕上。 -------------------------------------------------------------------------------- 语法二:Print LIST 说明:如果省略Filehandle的话,就会把Filehandle内定为STDOUT。也就是会将LIST的数据内容显示于屏幕上。 范例: $Str1ng="perl"; print"i love $stringn"; 会将“i love perl”再加上换行显示在屏幕上,而如果要让双引号内的变量失效的话,可以在变量前面加上这个符号。例如如果是print“i love $string”;的话,就会显示出“i love $string”这个字符串。 -------------------------------------------------------------------------------- 语法三:print 说明:同时省略Filehandle和LIST的话,就会以STDOUT为Filehandle,并会输出$_这个内定输出变量的数据内容。如果$_变量是一个空字符串的话,就会显示出一个空字符串。 范例: $_="i love perln"; print; 就会将"i love perl"再加上换行显示在屏幕上 -------------------------------------------------------------------------------- 指令:printf 语法一:printf Filehandle LIST 说明:在perl语言中也提供C语言中printf的语法,用法和C语言中的用法一模一样。如果把Filehandle省略的话,也一样会把STD0UT当成是内定的Filehandle。在为大家介绍printf函数之前,先让我们来看看printf函数中变换符号的字符: 符号 内定含意 %c 字符 %s 字符串 %d 整数 %f 浮整数 %h 十六进制码 %o 八进制码 范例: printf〈"chmod%d%s\n","7l1","cgi"); 会将“chmod 7ll cgi”再加上换行显示于屏幕上。 -------------------------------------------------------------------------------- 指令:chop 语法:chop($string) 说明:把最后一个字符删除掉,常常用这个函数把换行的字符(n)删除掉。 范例: $string="hello!n"; chop($string); #此时$string="hello!"; 而这两行也可以写成chop($string="hello!\n"); -------------------------------------------------------------------------------- 指令:split 语法:split(/pattern/,$string,limit) 其中/pattern是文字处理的模式,在下一小节中会有详细的语法介绍。而limit是代表要分割的个数,可以省略。 说明:用一个指定的文字处理模式来分割$string字符串。 范例: $string="i;am;cute"; @list=split(/:/,$string); #此时@list=〈"i","am","cute"); ($a,$b,$c)=split(/:/,$string); #此时$a="i",$b="am",$c="cute"; @list=split(/:/,$string,2); #此时@list=("i","love"); 在传送CGI应用程序数据的时候会先将数据编码,其中会将FORM中每个数据字段的数据内容用&这个符号隔开,所以在解码的时候就要以&这个符号为分割的字符,将每个数据字段分割出。例如: $string="who=A&email=B"; @list=split(/&/,$string), #此时@list=〈"who=A","email=B"); 而数据字段的名称和这个数据字段的值是用=这个符号来隔开,如果想取得数据字段的名称和所对应的值的话,就用要=这个符号来分割数据字段,例如: $list="who=A"; (0$name,$value)=sp1it(/=/,$list); #此时$name="who";$value="A";
-------------------------------------------------------------------------------- 指令:keys 语法:keys(%ARRAY) 说明:取出关联数组%ARRAY中全部的key。 范例: %NAMES=(1,"one",2,"two"); @list=keys(%NAMES), #此时@list=(l,2);
-------------------------------------------------------------------------------- 指令:values 语法:values(%ARRAY) 说明:取出关联数组%ARRAY中全部的value。 范例: %NAMES=(1,"one",2,"two"); @list=values(%NAMES); #此时@list=("one","two");
-------------------------------------------------------------------------------- 指令:reverse 语法:reverse(@array) 说明:将数组@array中的元素由后到前重新排列。 范例: @list=("A","B","C","D"); @1ist=reverse(@list); #此时@list=("D","C","B","A")
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一页12 3 4 下一页
上一篇:Perl 新手必读 下一篇:联网调试CGI程序心得
|