perl 常用函数(2)-可供查阅使用


指令:chop 语法:chop($url)
说明:把最后一个字符删除。

示例:$url="www.nease.net/~zmd/";
chop($url);
这时$url="www.nease.net/~zmd" 而这两行也可以写成
chop($url="www.nease.net/~zmd/");


--------------------------------------------------------------------------------

指令:
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
语法:
values(%array)
说明:取出关联数组%ARRAY中全部的value

示例:%NAMES=(1,"mike",2,"michael"); @readval=values(%NAMES); #这时@readval=("mike","michael");


--------------------------------------------------------------------------------

指令:
reverse
语法:
reverse(@array)
说明:将数组@array中的元素由后到前重新排列。

示例:@back=("A","B","C","D","E"); @back=reverse(@back); #这时@back=("E","D","C","B","A");


--------------------------------------------------------------------------------

指令:
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="onetwothree";


--------------------------------------------------------------------------------

指令:
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省略的话,则会返回一个介于01 的数值。

示例:
srand; #
要先宣告srand函数,才能产生随机数的效果
$int=rand(10); #$int
的值会大于0而且小于10如果希望产生的乱数是整数的话,就要再加上int #这个函数
$int=int(rand(10)); #$int
的值是一个整数,且值在09之间


--------------------------------------------------------------------------------

指令:
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],要将$mon1之后,才能符合实际情况。$year1990年算起的年数 $wday从星期六算起,代表是在这周中的第几天[0-6] $yday从一月一日算起,代表是在这年中的第几天[0,365] $isdst只是一个flag 知道这些变量之后,就可以在CGI应用程序中拿来应用了。此外,也可以用下面这一行指令在UNIX系统下取得系统的时间。为了避免错误发生,最好用绝对路径的方法来取得系统时间,如果绝对路径不清楚的话可以用"which data"这个指令来得知。最后要提字符的话,就不能正确执行系统程序了。 $data='/usr/bin/data'; 而在perl5版本中,也可以用下面这一行指令来取得系统时间。
$data=localtime(time);


--------------------------------------------------------------------------------

指令:
die
语法:
die LIST
说明:会把LIST字符串显示出来,并退出程序。常常和$!这个代表错误信息变量一起使用。

示例:open(FILE,"$filename")||die "不能打开文件$!/n; 如果打开文件失败的话,就会显示出错误的信息,之后再退出程序

 

 

数组的最后一个index:$#

例如:@component,则此数据的长度为$#+1,数组的最后一个数据为@component[$#]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值