濮阳杆衣贸易有限公司

主頁 > 知識庫 > perl 常用系統(tǒng)函數(shù)列表

perl 常用系統(tǒng)函數(shù)列表

熱門標簽:買了外呼系統(tǒng)不想用了怎么辦 浦東上海400開頭的電話申請 開封百應電銷機器人聯(lián)系方式 武漢呼叫中心外呼系統(tǒng)線路商 北京語音電銷機器人價格 真人語音電銷機器人系統(tǒng) 邯鄲外呼調研線路 樂昌電話機器人 電話機器人電話卡封號怎么辦
常用系統(tǒng)函數(shù)列表

指令:print
語法:print Filehandle LIST
說明:這個Filehandle可以看作在I(INPUT)/O(OUTPUT)之間的一個橋梁,可以利用FILEHANDLE來做出數(shù)據(jù)讀入寫出的動作.STDIN是代表從哪連輸入數(shù)據(jù),例如從電腦的鍵盤輸入;STDOUT是代表從哪連輸出數(shù)據(jù);例如從電腦的屏幕輸出;STDERR是代表從哪連輸出錯誤的數(shù)據(jù),例如從電腦的屏幕輸出.而在PERL語言中有三個標準FILEHANDLE: 1.STDIN(標準輸入):是代表STDIN的FILEHANDLE
2.STDOUT(標準輸出):是代表STDOUT的FILEHANDLE
3.STDERR(標準錯誤輸出):是代表STDERR的FILEHANDLE如果要使用其他FILEHANDLE的時候,就要用OPEN這個函數(shù)來打開一個FILEHANDLE,我們可以用PRINT這個函數(shù)LIST的數(shù)據(jù)輸出給FILEHANDLE.
    在為大家介紹PRINT這個函數(shù)之前,先讓我們來看看PRINT函數(shù)中特殊打印字符:


指令:#
說明:注釋符號Remark宣告
示例:#這是一個注釋說明


指令:print
語法:print Filehandle LIST
說明:這個Filehandle可以看作在I(INPUT)/O(OUTPUT)之間的一個橋梁,可以利用FILEHANDLE來做出數(shù)據(jù)讀入寫出的動作.STDIN是代表從哪連輸入數(shù)據(jù),例如從電腦的鍵盤輸入;STDOUT是代表從哪連輸出數(shù)據(jù);例如從電腦的屏幕輸出;STDERR是代表從哪連輸出錯誤的數(shù)據(jù),例如從電腦的屏幕輸出.而在PERL語言中有三個標準FILEHANDLE: 1.STDIN(標準輸入):是代表STDIN的FILEHANDLE
2.STDOUT(標準輸出):是代表STDOUT的FILEHANDLE
3.STDERR(標準錯誤輸出):是代表STDERR的FILEHANDLE如果要使用其他FILEHANDLE的時候,就要用OPEN這個函數(shù)來打開一個FILEHANDLE,我們可以用PRINT這個函數(shù)LIST的數(shù)據(jù)輸出給FILEHANDLE.
    在為大家介紹PRINT這個函數(shù)之前,先讓我們來看看PRINT函數(shù)中特殊打印字符:

符號 其作用
\n 換行 new line
\r 光標換行 return
\t tab鍵
\f 換頁 form feed
\b 退回一格
\v 垂直tab鍵
\a 響鈴Bell
\e escape鍵
\007 十進制ASC II碼
\xff 十六進制碼
\c[ 控制字符
示例: print STDOUT "網(wǎng)上學園\n"; 將"網(wǎng)上學園"加上換行顯示在屏幕上.

語法: print LIST
說明:如果省略Filehandle的話,就會把Filehandle內定為STDOUT.也就是會將LIST的數(shù)據(jù)內容顯示在屏幕上.
示例: $url="www.netease.net/~zmd";
print "網(wǎng)上學園$url\n";
在屏幕上將會出現(xiàn)"網(wǎng)上學園www.netease.net/~zmd",如果想要讓雙引號內的變量失效,可以在變量的前面加上"\"符號.例如: print"網(wǎng)上學園\$url"; 這樣它就顯示:"網(wǎng)上學園$url"

語法: print
說明:同省略Filehandle和LIST的話,就會以STDOUT為Filehandle,并會輸出$_這個內定輸出變量的數(shù)據(jù)內容. 如果$_變量是一個空字符串的話,就會顯示出一個空字符串.
示例: $_="網(wǎng)上學園\n"; print; 就會將"網(wǎng)上學園"加上換行顯示在屏幕上


指令: printf
語法: printf Filehandle LIST
說明:在perl語言中也提代C語言中printf的語法,用法和C語言中的用法一模一樣.如果把Filehandle省略的話 ,也一樣會把STDOUT當成是內定的Filehandle.在為大家介紹printf函數(shù)之前,先讓我們來看看printf函數(shù)中變換符號的字符.

符號 其作用
%c   字符
%s   字符串
%d   整數(shù)
%f   浮整數(shù)
%h   十六進制碼
%o   八進制碼
示例:printf("chomod%d%s\n","711""cgi"); 會將chmod 711 cgi加上換行顯示于屏幕上。


指令: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是代表要分割的個數(shù),一般可以省略。
說明:用一個指定的文字處理模式來分割$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應用程序數(shù)據(jù)的時候會先將數(shù)據(jù)編碼,其中會將FORM中第個數(shù)據(jù)字段的數(shù)據(jù)內容用這個符號隔開,所以在解碼的時候就要以這個符號為分割的字符,將每個數(shù)據(jù)字段分割出。例如: $text="Mike=AMichael=B";
@name=split(//,$text); #這時@name=("Mike=A","Michael=B"); 而數(shù)據(jù)字段的名稱和這個數(shù)據(jù)字段的值是用=這個符號來隔開,如果想取得數(shù)據(jù)字段的名稱和所對應的值的話,就用要=這個符號來分割數(shù)據(jù)字段,例如: $name=""Mike=Michael"";
($name1,$name2)=split(/=/,$list); #這時$name1="Mike";$name2="Michael";


指令:keys
語法:keys(%array)
說明:取出關聯(lián)數(shù)組%ARRAY中全部的key。
示例:%NAME=(1,"mike",2,"michael"); @readkey=keys(%NAMES); #這時@readkey=(1,2);


指令:values
語法:values(%array)
說明:取出關聯(lián)數(shù)組%ARRAY中全部的value。
示例:%NAMES=(1,"mike",2,"michael"); @readval=values(%NAMES); #這時@readval=("mike","michael");


指令:reverse
語法:reverse(@array)
說明:將數(shù)組@array中的元素由后到前重新排列。
示例:@back=("A","B","C","D","E"); @back=reverse(@back); #這時@back=("E","D","C","B","A");


指令:sort
語法:sort(@array)
說明:將數(shù)組中的元素由小到大排序,如果要由大到小排序的話,要加上reverse這個函數(shù)。
示例
@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函數(shù)來排序數(shù)值的時,會出差錯,因此要用下面到下面這一句。 @number=(sort{$a=>$b}@number); #這時@number=(2,5,10);


指令:length
語法:length($string)
說明:求出字符串$string的字節(jié)(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)
說明:在數(shù)組@array的最后附加新的元素 ($string)到數(shù)組@array中。
示例:@array=("one","two"); push(@array,"three"); #這時$@array=("one","two","three")


指令:pop
語法:pop(@array)
說明:將數(shù)組(@array)的最后一個元素刪除,并將刪除的元素返回。
示例:@array=("one","two"); $rm=pop(@array); #這時@array=("one");而$rm="two";


指令:unshift
語法:unshift(@array,$string) 說明:在數(shù)組@array的第一個元素前附加新的元素$string到數(shù)組@array中。 示例: @array=("one","two"); unshift(@array,"three"); #這時@array=("three","one","two")


指令:shift
語法:shift(@array)
說明:將數(shù)組@array的第一個元素刪除,并將刪除的元素返回。
示例:@array=("one","two"); @rm=shift(@array); #這時@array=("two");而$rm="one";


指令:join
語法:join($string,@array)
說明:在一數(shù)組@array的元素之間加上一指定的字符$string,并將結果返回。
示例
@array=("one","two","three");
$total=join(":",@array); 這時$total="one:two:three";


指令:grep
語法:grep(/pattern/,@array)
說明:將合文字處理模式(regular expression)的數(shù)組元素找出來。
示例
@array=("one","on","in");
$count=grep(/on/,@array); #這時$count=2
@result=grep(/on/,@array);#這時@result=("one","on");


指令:hex
語法:hex($string)
說明:將十六進制的數(shù)值轉成十進制。
示例: $decimal=hex("ff"); 這時$decimal=255;


指令:rand
語法:rand($interger)
說明:常和函數(shù)srand搭配來取得一隨機數(shù),如果沒有先宣告stand函數(shù)的話,則取出的常數(shù)值是一個固定值。這個語法會返回一個介于0和$interger之間的數(shù)值,如果$interger省略的話,則會返回一個介于0和1 的數(shù)值。
示例
srand; #要先宣告srand函數(shù),才能產(chǎn)生隨機數(shù)的效果
$int=rand(10); #$int的值會大于0而且小于10如果希望產(chǎn)生的亂數(shù)是整數(shù)的話,就要再加上int #這個函數(shù)
$int=int(rand(10)); #$int的值是一個整數(shù),且值在0和9之間


指令:localtime
語法:localtime(time)
說明:可返回九個有關時間的元素,在寫CGI應用程序的時候常會用到系統(tǒng)的時間,所以在此會詳細介紹這個函數(shù)的用法。
示例
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
其中: $sec代表秒數(shù)[0,59] $min代表分數(shù)[0,59] $hour代表小時數(shù)[0,23] $mday代表是在這個月的第幾天[1,31] $mon代表月數(shù)[0,11],要將$mon加1之后,才能符合實際情況。$year從1990年算起的年數(shù) $wday從星期六算起,代表是在這周中的第幾天[0-6] $yday從一月一日算起,代表是在這年中的第幾天[0,365] $isdst只是一個flag 知道這些變量之后,就可以在CGI應用程序中拿來應用了。此外,也可以用下面這一行指令在UNIX系統(tǒng)下取得系統(tǒng)的時間。為了避免錯誤發(fā)生,最好用絕對路徑的方法來取得系統(tǒng)時間,如果絕對路徑不清楚的話可以用"which data"這個指令來得知。最后要提字符的話,就不能正確執(zhí)行系統(tǒng)的程序了。 $data='/usr/bin/data'; 而在perl5版本中,也可以用下面這一行指令來取得系統(tǒng)時間。 $data=localtime(time);


指令:die
語法:die LIST
說明:會把LIST字符串顯示出來,并退出程序。常常和$!這個代表錯誤信息變量一起使用。
示例:open(FILE,"$filename")||die "不能打開文件$!\n; 如果打開文件失敗的話,就會顯示出錯誤的信息,之后再退出程序。


指令:open
語法1:open(filehandle,"$filename") 其中$filename是一個指定打開的文件名。
說明:這是一個很常用的函數(shù),可用于文件的打開(read only)。在CGI程序設計中常常會打開一個文件來讀取數(shù)據(jù),所以筆者會詳加說明這一個函數(shù)相關用法。這個filehandle可把它看作在 I(INPUT)/O(OUTPUT)之間的一個橋梁,可以利用FILEHANDLE來作出數(shù)據(jù)讀入寫出的動作。開始可用OPEN這個函數(shù)來打開一個指定的文件,接下來可以用ltfilehandle>來讀取所打開文件的數(shù)據(jù)內容,最后一定要用close這個函數(shù)來關閉這個之前打開的filehandle。要注意的是在CGI程序定作中,當用OPEN這個函數(shù)來打開一個文件時,一定要在打開文件前加上文件所在的絕對路徑名稱。
示例
$filename="usr/abc.txt";
open(FILE,"$filename")||die"不能打開文件$filename\n; #將ltfile>數(shù)據(jù)指定給純變量$line(一行一行地)
while($line=ltfile>)
{
print"$line";
}
close(file); 就會把abc.txt這個文件的內容顯示出來。

語法2:open(filehandle,"$filename")
說明:這個語法也可以打開一個存在的文件(read only)。
示例
$filesname="usr/abc.txt";
open(file,"$filename")||die"不能打開文件$filename\n";
@array=ltfile> #將ltfile>全部的數(shù)據(jù)內容都指定給數(shù)組@array close(file);
print "@array"; 也會把abc.TXT這個文件的內容顯示出來。

語法3:open(filehandle,">$filename")
說明:建立一個新的文件(write only),如果已經(jīng)存在這個文件了,就會把舊文件名覆蓋掉。并可用print filehandle的方式將數(shù)據(jù)到所打開的文件中。
示例
$filename="/usr/abc.txt";
open(file,">$filename")||die"不能打開文件$filename\n;
print file "this is a new line1\n; #\n是換行字符
print file "this is a new line2\n;
close(file); 會打數(shù)據(jù)存在一個新文件中。

語法4:open(filehandle,">>$filename")
說明:數(shù)據(jù)用附加的方式定入一文件(write only),如果指定的文件名不存在的話就會建立一個新的文件。
示例
$filename="/path/abc.txt";
open(file,">>$filename")||die"不能打開文件$filename\n";
print file "this is a new line1\n";
print file "this is a new line2\n";
close(file);
會打數(shù)據(jù)附加(append)到一個文件(abc.txt)中。

語法5:open(filehandle,"|unix command")
說明:就會把在filehandle的數(shù)據(jù)輸入給unix的指令來作處理。
示例
$mailprog="/usr/ucb/mail"; #unix系統(tǒng)上的寄信程序(一定要加絕對路徑)
$who="mqingyi@126.com";
$open(file,"|$mailprog$who")||die"打開失敗\n";
print file "I love you!\n";
print file "I want to see you.\n";
close(file);
就會通過unix系統(tǒng)mail的程序,將FILE這個FILEHANDLE的數(shù)據(jù)內容寄給$who這個變量所指定的收信人。我們可以利用open這個函數(shù)來設計一個來信批評CGI應用程序,在本書中的下一章中會有詳細的介紹。


指令:close
用法:close(filehandle)
說明:用open這個函數(shù)來打開一個filehandle之后,一定要用close批這個函數(shù)把所打開的filehandle關閉。
示例
open(filehandle,"$filename");
close(filehandle);


指令:pack
語法:pack("指定的格式",list)
說明:pack這個函數(shù)會將一個list變成所指定的二進制數(shù)據(jù)格式。在CGI程序分割解碼過程中,會用到pack這個函數(shù),所以筆者在此簡單介紹這個函數(shù)的用法。
示例:$string=pack("c",65); #這時$string="a";將65這個ascii碼轉換成一個unsigned字符,其中c就是指定要轉換成unsigned字符的意思。


指令:read
語法:read(filehandle,$string,length) 其中l(wèi)ength是代表讀入字符串的長度(bytes)。
說明:用read這個函數(shù)把filehandle中的數(shù)據(jù)依指定的字符串長度讀入之后指派給$string這個變量。在cgi程序分割解碼過程中,如果FORM的傳送方式是設定為POST的話,就會將傳送的數(shù)據(jù)設定為標準輸入,所以會將數(shù)據(jù)內容指定給STDIN 這個標準輸入的filehandle,而CGI環(huán)境變量$env{'content_length'}就是代表使用者送出數(shù)據(jù)內容的長度,因此我們要用read這個函數(shù)來取得使用者送出的數(shù)據(jù)內容。
示例:read(stdin,$buffer,$env{'content_length'}); 就會將stdin這個標準輸入filehandle中的數(shù)據(jù)依指定的字符串長度讀入,再指派給$buffer這個變量。


指令:exit
語法:exit
說明:退出執(zhí)行的程序。
示例: print"i love cgi\n"; exit; 顯示完"i love cgi"以后,將退出這個程序。

標簽:宜春 六安 鄂州 自貢 河北 石嘴山 松原 淄博

巨人網(wǎng)絡通訊聲明:本文標題《perl 常用系統(tǒng)函數(shù)列表》,本文關鍵詞  perl,常用,系統(tǒng),函數(shù),列表,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《perl 常用系統(tǒng)函數(shù)列表》相關的同類信息!
  • 本頁收集關于perl 常用系統(tǒng)函數(shù)列表的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    乐陵市| 阿城市| 霍林郭勒市| 盐边县| 永清县| 石狮市| 左云县| 正定县| 宁乡县| 将乐县| 隆子县| 农安县| 甘谷县| 诸城市| 德江县| 巨野县| 焦作市| 泉州市| 宜章县| 托克逊县| 永吉县| 东山县| 昭苏县| 阿拉善右旗| 柘城县| 通海县| 胶南市| 徐闻县| 怀化市| 东丰县| 玉田县| 葵青区| 安福县| 哈密市| 墨脱县| 四子王旗| 江源县| 电白县| 浠水县| 蓬溪县| 石林|