无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2053|回复: 3
打印 上一主题 下一主题

Perl常用函数[转帖]

[复制链接]
跳转到指定楼层
1#
发表于 2001-11-7 17:39:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
============================================================
指令: #
说明: 注解符号Remark宣告
范例: #c:\perl\bin\perl.exe
#这是一行说明
============================================================
指令: print
语法一: print Filehandle LIST
说明: 这个Filehandle可把它看做在(Input)/(output)间的一个桥梁,可以利用Filehandle来做出数据读入
写出的动作。STDIN是代表从哪里读入数据,是从键盘,还是其他输入设备呢。Perl种使用了unix下的三种输入设备,STDIN(标准输入),STDOUT(标准输出),STDERR(标准错误输出)。
特殊符号:
\n 换行New line
\r 光标换行Return
\t Tab键
\f 换页
\h 退回一个键Backspace
\v 垂直Tab
\a 响铃
\e Escape键
\007 Ascii十进制码
\xff 十六进制
\c[ 控制字符
范例: Print STDOUT "I love perl\n";
#将"I love perl"加上换行符后输出到屏幕上
语法二: Print LIST
说明: 如果省略Filehandle的话,将缺省使用STDOUT.
范例: 略
语法三: Print
说明: 如果同时省略Filehandle和LIST,则将$_变量输出到屏幕上。($_这个变量是一个特殊变量,我将在以后讲解)
范例: 略
============================================================
指令: printf
语法: printf Filehandle LIST
说明: 使用过C语言的人都知道,Printf和print的区别在于前者给每个输出符加上换行符号。这里的用法是一样的。
范例: 略============================================================
指令: chop
语法: chop($string)
说明: 将字符串$string的最后一个字符去掉。我们一般用来去掉字符串最后的那个\n符号。
范例: $hello="Hello,Perl\n";
chop($hello);
print "$hello";
============================================================指令: split
语法: split(/pattern/,$string,limit)
说明: 用一个指定的文字处理模式(正则表达式)来分割$string字符串.
范例: $string="i:am:cute";
@list=split(/:/,$string);
#此时@list=("i","am","cute");
在传送CGI应用程序数据的时候会先将数据编码,其中会将FORM中的每个字段的数据内容用&这个符号
分割,所以在解码的时候必须将&分割开字符串,比如:

$string="who=guyi&email=guyii@online.sh.cn";
@list=split(/$/;$string); #此时@list("who=guyi","email=guyii@online.sh.cn");
而字段的名字和字段的值则是通过=这个符号联系在一起,所以要得到字段对应的值,就要根据=这个
符号将字符串解开来。
$list="name=guyi";
($name,$value)=spilt(/=/,$list);

============================================================指令: keys
语法: keys(%array)
说明: 取出关联数组array中全部的key.
范例: %name=(1,"one",2,"two");
@list=keys(%name); #此时@list的值为(1,2);
============================================================指令: value
语法: value(%array)
说明: 取出关联数组array中全部的value.
范例: %name=(1,"one",2,"two");
@list=value(%name); #此时@list的值为("one","two")
2#
 楼主| 发表于 2001-11-7 17:40:41 | 只看该作者

Perl常用函数[转帖]

============================================================
指令: sort
语法: sort(@array)
说明: 将数组array中的元素从小到大排序,如果由大到小排序的话,就要加上reverse这个函数
范例: @array=("b","c","a");
@array=sort(@array);
print @array; #输出a,b,c请注意如果使用sort函数进行数值排序的时候,会出错。因为perl将数字当做字符串来处理的。如果要排序,则应该使用这样的方法:
@number=(sort{$a<=>$b}@number);
============================================================
指令: length
语法: length($string)
说明: 求出一字符串$string的bytes值
范例: $string="perl";
$size=length($sting); #此时$size=4
============================================================
指令: substr
语法: substr($string,offset,length)
其中offset代表开始字符的位置;length代表引用的字符串长度,如果省略length则代表整个字符串的长度。而offset是负值的话,就会从字符串右边取出指定的字符串。
说明: 在一个字符串$sting中取出想要的字符串
范例: $x=substr("testing",2,2) $x="st";
$x=substr("testing",2) $x="string";
$x=substr("testing",-2,2)$x="in";
============================================================
指令: index
语法: index($string,$substring,position)
其中$substring是指要寻找的字符;position代表从哪一个位置开始找起,如省略position的话就从头开始找起。
说明: 返回要找寻的字符在一字符串$stirng中的位置,如果在字符串中找不到字符的话,则会返回-1这个值。
范例: $x=index("testing","t"); $x=0;
============================================================
指令: push
语法: push(@array,$string)
说明: 在数组array的最后一个元素后附加新的元素$string到数组array中
范例: @array=("one","two");
push(@array,"three");
============================================================
指令: unshift
语法: unshift(@array,$string)
说明: 在数组array的第一个元素前附加新的元素
范例: @array=("two","three");
unshift(@array,"one");
============================================================
指令: shift
语法: shift(@array)
说明: 将数组array的第一个元素删除并返回删除的元素值
范例: @array=("three","one","two");
$mr=shift($array);
============================================================
指令: join
语法: join($string,@array)
说明: 在一数组@array的元素之间加上一指定的字符$string,并将结果返回
范例: @array=("one","two","three");
$totle=join(":",@array); $totle="one:two:three";
回复

使用道具 举报

3#
 楼主| 发表于 2001-11-7 17:41:24 | 只看该作者

Perl常用函数[转帖]

指令: grep
语法: grep(/pattern/,@array)
说明: 将符合文字处理模式的@array元素找出来
范例: @array=("one","on","in");
$count=grep(/on/,@array);#此时$count=2;
hex
指令: hex
语法: hex($string);
说明: 将十六进制的数值转换为十进制
范例: $decinaml=("ff");#此时$decimal=255;
rand
指令: rand($interger)
语法: reand($interger)
说明: 常常和函数srand搭配来取得一个随机数字,如果没有事前宣告stand函数的话,则取出的数值十一个固定值。这个语法会返回一个介于0和$ineterger之间的数值,如果$interger省略的话,则会返回一个介于0和1之间的数值。
范例: srand;#必须要事先宣告srand函数,才能产生随机数字。
$int=rand(10);
$int=int(rand(10));#$int十一个数值,介于0和9之间。
localtime
指令: localtime
语法: locatime(time)
说明: 可返回九个有关时间的元素,在写CGI程序的时候常会用到的。
范例: ($sec,$min,$hour,$mday,$mon,$year,$wady,$yday,$isdst)=localtime(time);
其中:
$sec  代表秒数[0,59]
$min  代表分数[0,59]
$hour 代表小时[0,23]
$mday 代表天数[0,31]
$mon 代表月数[0,11]#要在$mon后加一才能符合实际情况
$year 从1990年算起的年分
$wday 从星期六算起,代表今天是本周的第几天[0-6]
$yday 从一月一日算起,代表是这年中的第几天[0,365]
$isdst  只是一个flay
die
指令: die
语法: die LIST
说明: 会把LIST字符串显示出来,并退出程序。常和$!变量(错误变量)一起使用。
范例: open(FILE,"$filename")||die"Cannot open the file $!\n";
如果打开文件失败的话,就会显示出错误信息,之后再退出程序。
open
指令: open
语法一: open(FILE,"$filename")
其中$filename是一个指定打开的文件名字。
说明: 这是一个很有用的函数,可用于文件的打开(Read Only)。在CGI中也是常用指令之一。
范例: $filename="usr/guyi/cgi.txt";
open(FILE,"$filename")||die"Cannot open $!\n";
while ($line=<FILE>){#读入文件内容,直到文件结束。
print "$line";
}
close(FILE)
回复

使用道具 举报

4#
 楼主| 发表于 2001-11-7 17:42:08 | 只看该作者

Perl常用函数[转帖]


open
语法二: open(Filename,"<$filename"
说明: 这个语法也可以打开一个存在的文件
范例: $filename="/path/cgi.txt";
open(FILE,"<$filename"||die"Cannot open $filename\n";
#下面把全部文件内容都赋给数组@array。
@array=<FILE>;
close(FILE):
语法三: open(Filename,">$filename"
说明: 建立一个新的文件,如果已经存在这个文件,就会覆盖原来的文件,同时建立以后可以使用print file的方法将数据写入文件。
范例: $filename="/path/cgi.txt";
open(FILE,">$filename"||die"Cannot open $filename\n";
print FILE "this is a test\n";
close(FILE);
语法四: open(Filename,">>$filename"
说明: 数据用附加的方式写入一个文件,如果指定的文件不存在,就建立一个新文件。
范例: $filename="/path/cgi.txt";
open(FILE,">>$filename"||die"Cannot open $filename\n";
print FILE "this is a test\n";
close(FILE);
语法五: open(Filehandle,"|Unix Command")
说明: 把filehandle内的数据输出给Unix使用。
范例: $mailprog="/usr/ucb/mail";
$who="jcjung@online.sh.cn";
open(FILE,"|mailprog $who")||"Can not Fail!\n";
print FILE "这是一个实验";
close(FILE);
close
指令: close
用法: close(Filehandle)
说明: 用open这个函数来打开一个文件之后,一定要用close这个函数把文件关闭
范例: open(Filehandle,"$filename";
close(Filehandle);
pack
指令: pack
用法: Pack("指定的格式",LIST)
说明: Pack这个函数会将一个LIST变成指定的二进制数据格式。在CGI程序分解码过程中,可以用pack函数。是常用函数。
范例: $string=pack("C",65)   此时$string="A";
将65这个ASCII码转换成一个unsigned字符,其中C就是指定要转换成unsigned字符的意思。
read
指令: read
用法: read(Filehandle,$string,length)
其中length表示读入字符串的长度
说明: 用这个函数把fiehandle中的数据依指定的字符串长度读入之后指派给$string这个变量。在CGI程序解码过程中,如果FROM的传送方式是社定为POST的话,就会将传送的数据社定为标准输入,所以会将数据内容指定给STDIN这个标准输入饿filehandle。而CGI环境变量$ENV{'CONTENT_LENGTH'}就是代表使用者送出数据的长度,因此我们要用read这个函数来取得使用者送出的数据内容。
范例: read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'})
exit
指令: exit
用法: exit
说明: 退出执行中的程序
范例: print "i love perl\n";
exit;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-24 05:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表