background image

说明: 在perl语言中也提代C语言中printf的语法,用法和C语言中的用法一模一样.如果把Filehandle省略

的话 ,也一样会把STDOUT当成是内定的Filehandle.在为大家介绍printf函数之前,先让我们来看看printf函

数中变换符号的字符. 

符号 其作用 

%c   字符 

%s   字符串 

%d   整数 

%f   浮整数 

%h   十六进制码 

%o   八进制码 

示例:printf("chomod%d%s\n","711""cgi"); 会将chmod 711 cgi加上换行显示于屏幕上。 

指令:chop 语法:chop($url) 

说明:把最后一个字符删除。 

示例:$url="linux.cqi.com.cn/~milan/"; 

chop($url); 这时$url="linux.cqi.com.cn/~milan" 而这两行也可以写成chop

($url="linux.cqi.com.cn/~milan/"); 

指令:split 

语法:split(/pattern/,$text,limit) 其中/pattern/是文字处理的模式,而limit是代表要分割的个数,

一般可以省略。 

说明:用一个指定的文字处理模式来分割$text字符串。 

示例:$text="Michael,Gevin,Mike"; @name=split(/,/,$text); #这时@name=

("Michael","Gevin","Mike"); 

($a,$b,$c)=split(/,/,$text); #这时$a="Michael";$b="Gevin";$c="Mike"; 

@name=split(/,/,$string,2); #这时@name=("Michael","Gevin"); 

在传送CGI应用程序数据的时候会先将数据编码,其中会将FORM中第个数据字段 的数据内容用&这个符号隔

开,所以在解码的时候就要以&这个符号为分割的字符,将每个数据字段分割出。例如: 

$text="Mike=A&Michael=B"; 

@name=split(/&/,$text); #这时@name=("Mike=A","Michael=B"); 而数据字段的名称和这个数据字段的值

是用=这个符号来隔开,如果想取得数据 字段的名称和所对应的值的话,就用要=这个符号来分割数据字

段,例如: $name=""Mike=Michael""; 

($name1,$name2)=split(/=/,$list); #这时$name1="Mike";$name2="Michael"; 

指令:keys 

语法:keys(%array) 

说明:取出关联数组%ARRAY中全部的key。 

示例:%NAME=(1,"mike",2,"michael"); @readkey=keys(%NAMES); #这时@readkey=(1,2); 

指令:values 

2