Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->编程语言 ->Perl ->正文

Perl常用系统函数

来源:Linuxdby.com 作者:Webmaster 时间:2007-06-05 点击: [收藏] [投稿]



指令:sort
语法:sort(@array)
说明:将数组中的元素由小到大排序,如果要由大到小排序的话,要加上reverse这个函数。
示例:
@abc=("d","b","c","a");@abc=sort(@abc);#这时@abc=("a","b","c","d");
@abc=(reversesort@abc);#这时@abc=("d","c","b","a");这个语法也可以写成@abc=(reversesort(@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)
说明:将合文字处理模式(regularexpression)的数组元素找出来。
示例:
@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系统下取得系统的时间。为了避免错误发生,最好用绝对路径的方法来取得系统时间,如果绝对路径不清楚的话可以用"whichdata"这个指令来得知。最后要提字符的话,就不能正确执行系统的程序了。$data='/usr/bin/data';而在perl5版本中,也可以用下面这一行指令来取得系统时间。$data=localtime(time);

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:没有了   下一篇:Perl的基本输入输出

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号