发信人: chenwen()
整理人: workingnow(2002-10-30 13:56:47), 站内信件
|
指令:sort
语法:sort(@array)
说明:将数组中的元素由小到大排序,如果要由大到小排序的话,
要加上reverse这个函数。
示例:
@abc=("d","b","c","a");
@abc=sort(@abc); #这时@abc=("a","b","c","d");
@abc=(reverse sort@abc); #这时@abc=("d","c","b","a");
这个语法也可以写成@abc=(reverse sort(@abc));
@number=(5,2,10);
@number=sort(@number);
上面示例用sort函数来排序数值的时,会出差错,因此要用下面到
下面这一句。
@number=(sort{$a<=>$b}@number); #这时@number=(2,5,10);
指令:length
语法:length($string)
说明:求出字符串$string的字节(bytes)值。
示例:$string="Perl5";
$size=length($string); #这时$size=5;
指令:substr
语法:substr($string,offset,length)
offset代表起始字符的位置,length代表引用的字符串长度,
如果省略length则代表从起始值到字符串的最后一个字符长度。而
offset如果是负值的话,就会从字符串右边开始指定字符。
示例:$s=substr("perl5",2,2); #这时$s="rl";
$s=substr("perl5",2); #这时$s="rl5";
$s=substr("perl5",-2,2); #这时$s="er";
指令:index
语法:index($string,$substring,position)
$substring是要寻找的字符;position代表从哪一个位置开始寻找,
假如省略position就从头开始找起。
说明:返回所要找寻的字符在一字符串$string中的位置,如果在字符串
中找不到字符的话,则会返回-1这个值。
示例:$s=index("perl5","p"); #这时$s=0
$s=index("perl5","l",2); #这时$s=3
$s=index("perl5","perl"); #这时$s=-1
指令:push
语法:push(@array,$string)
说明:在数组@array的最后附加新的元素 ($string)到数组@array中。
示例:@array=("one","two");
push(@array,"three"); #这时$@array=("one","two","three")
指令:pop
语法:pop(@array)
说明:将数组(@array)的最后一个元素删除,并将删除的元素返回。
示例:@array=("one","two");
$rm=pop(@array); #这时@array=("one");而$rm="two";
指令:unshift
语法:unshift(@array,$string)
说明:在数组@array的第一个元素前附加新的元素$string到数组@array中。
示例:
@array=("one","two");
unshift(@array,"three"); #这时@array=("three","one","two")
指令:shift
语法:shift(@array)
说明:将数组@array的第一个元素删除,并将删除的元素返回。
示例:@array=("one","two");
@rm=shift(@array): #这时@array=("two");而$rm="one";
指令:join
语法:join($string,@array)
说明:在一数组@array的元素之间加上一指定的字符$string,并将
结果返回。
示例:
@array=("one","two","three");
$total=join(":",@array); 这时$total="one:two:three";
指令:grep
语法:grep(/pattern/,@array)
说明:将合文字处理模式(regular expression)的数组元素找出来。
示例:
@array=("one","on","in");
$count=grep(/on/,@array); #这时$count=2
@result=grep(/on/,@array);#这时@result=("one","on");
指令:hex
语法:hex($string)
说明:将十六进制的数值转成十进制。
示例:
$decimal=hex("ff"); 这时$decimal=255;
指令:rand
语法:rand($interger)
说明:常和函数srand搭配来取得一随机数,如果没有先宣告stand函数
的话,则取出的常数值是一个固定值。这个语法会返回一个介于0和
$interger之间的数值,如果$interger省略的话,则会返回一个介于0和1
的数值。
示例:
srand; #要先宣告srand函数,才能产生随机数的效果
$int=rand(10); #$int的值会大于0而且小于10如果希望产生的乱数
是整数的话,就要再加上int这个函数
$int=int(rand(10)); #$int的值是一个整数,且值在0和9之间
指令:localtime
语法:localtime(time)
说明:可返回九个有关时间的元素,在写CGI应用程序的时候常会用到
系统的时间,所以在此会详细介绍这个函数的用法。
示例:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
其中:
$sec代表秒数[0,59] $min代表分数[0,59]
$hour代表小时数[0,23] $mday代表是在这个月的第几天[1,31]
$mon代表月数[0,11],要将$mon加1之后,才能符合实际情况。
$year从1990年算起的年数
$wday从星期六算起,代表是在这周中的第几天[0-6]
$yday从一月一日算起,代表是在这年中的第几天[0,365]
$isdst只是一个flag
知道这些变量之后,就可以在CGI应用程序中拿来应用了。此外,也
可以用下面这一行指令在UNIX系统下取得系统的时间。为了避免错误发
生,最好用绝对路径的方法来取得系统时间,如果绝对路径不清楚的话可
以用"which data"这个指令来得知。最后要提字符的话,就不能正确执行
系统的程序了。
$data='/usr/bin/data';
而在perl5版本中,也可以用下面这一行指令来取得系统时间。
$data=localtime(time);
-- I'm the KING of the world !
Homepage: http://chenwen.yeah.net
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.202.96.252]
|
|