亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

perl 常用系統函數列表

2020-10-31 15:20:23
字體:
來源:轉載
供稿:網友
常用系統函數列表

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


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


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

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

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

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


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

符號 其作用
%c   字符
%s   字符串
%d   整數
%f   浮整數
%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是代表要分割的個數,一般可以省略。
說明:用一個指定的文字處理模式來分割$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="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);


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


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

語法3:open(filehandle,">$filename")
說明:建立一個新的文件(write only),如果已經存在這個文件了,就會把舊文件名覆蓋掉。并可用print filehandle的方式將數據到所打開的文件中。
示例
$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); 會打數據存在一個新文件中。

語法4:open(filehandle,">>$filename")
說明:數據用附加的方式定入一文件(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);
會打數據附加(append)到一個文件(abc.txt)中。

語法5:open(filehandle,"|unix command")
說明:就會把在filehandle的數據輸入給unix的指令來作處理。
示例
$mailprog="/usr/ucb/mail"; #unix系統上的寄信程序(一定要加絕對路徑)
$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系統mail的程序,將FILE這個FILEHANDLE的數據內容寄給$who這個變量所指定的收信人。我們可以利用open這個函數來設計一個來信批評CGI應用程序,在本書中的下一章中會有詳細的介紹。


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


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


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


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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产黑人绿帽在线第一区| 亚洲国产精品久久久久久| 九九久久综合网站| 免费99精品国产自在在线| 欧美亚洲在线播放| 热久久美女精品天天吊色| 欧美激情xxxx性bbbb| 精品视频偷偷看在线观看| 一本大道香蕉久在线播放29| 欧美在线观看日本一区| 欧美美女15p| 97超碰蝌蚪网人人做人人爽| 国产在线视频2019最新视频| 日韩av中文在线| 91久久久国产精品| 国产精品夜色7777狼人| 精品久久久久久中文字幕一区奶水| 人妖精品videosex性欧美| 久久精品国产v日韩v亚洲| 精品久久国产精品| 夜夜躁日日躁狠狠久久88av| 久久国产精品99国产精| 九九久久久久久久久激情| 国产亚洲一区二区在线| 亚洲香蕉成视频在线观看| 久操成人在线视频| 国产伊人精品在线| 欧美精品久久久久a| 欧美精品videosex极品1| 日韩中文字幕在线看| 亚洲九九九在线观看| 久久国内精品一国内精品| 成人做爰www免费看视频网站| 狠狠爱在线视频一区| 亚洲电影在线看| 久久在线观看视频| 亚洲变态欧美另类捆绑| 日韩在线www| 国产日韩欧美中文在线播放| 91中文字幕在线| 日韩激情在线视频| 色偷偷av亚洲男人的天堂| 亚洲色图偷窥自拍| 久久综合免费视频| 欲色天天网综合久久| 国内精品一区二区三区| 琪琪亚洲精品午夜在线| 45www国产精品网站| 欧美性猛交xxxxx水多| 亚洲嫩模很污视频| 日韩成人在线观看| 国产日韩欧美夫妻视频在线观看| 亚洲综合精品伊人久久| 日韩电视剧免费观看网站| 久久亚洲国产精品成人av秋霞| 亚洲精品视频在线播放| 成人性生交大片免费看视频直播| 中文字幕日韩高清| 91免费观看网站| 欧美性在线视频| 欧美性猛交xxxx免费看久久久| 日韩亚洲成人av在线| 欧美性猛xxx| 5252色成人免费视频| 亚洲天堂色网站| 国产黑人绿帽在线第一区| 国产91精品久久久久久| 欧美大尺度在线观看| 亚洲tv在线观看| 久久精品国产99国产精品澳门| 亚洲v日韩v综合v精品v| 国产免费一区二区三区在线能观看| 成人福利视频网| 欧美午夜片欧美片在线观看| 欧美在线视频观看免费网站| 91精品国产自产91精品| 国产精品视频一区国模私拍| 欧美肥老太性生活视频| 亚洲三级黄色在线观看| 91在线免费观看网站| 国产精品亚洲综合天堂夜夜| 日韩成人av在线| 久久久久久久影视| 亚洲精品综合久久中文字幕| 中文字幕日韩在线播放| 久久精品视频中文字幕| 大荫蒂欧美视频另类xxxx| 亚洲成色777777女色窝| 亚洲精品电影在线| 欧美在线视频网站| 亚洲性生活视频在线观看| 欧美激情视频一区二区三区不卡| 揄拍成人国产精品视频| 欧美日韩国产精品一区| 成人精品视频久久久久| 色婷婷**av毛片一区| 精品福利在线观看| 欧美成aaa人片免费看| 欧美亚洲成人免费| 欧美色播在线播放| 主播福利视频一区| 91青草视频久久| 亚洲黄色在线观看| 在线观看欧美www| 91九色蝌蚪国产| 91美女高潮出水| 欧美日产国产成人免费图片| 国产精品影片在线观看| 在线免费观看羞羞视频一区二区| 亚洲图片在区色| 成人羞羞国产免费| 成年无码av片在线| 国产精品爽黄69| 国产91对白在线播放| 国产欧美一区二区三区在线| 亚洲精品久久久久久久久| 国内精品久久久久伊人av| 国产精品jvid在线观看蜜臀| 国产精品一区久久久| 亚洲综合中文字幕在线观看| 久久精品国产欧美亚洲人人爽| 欧美另类69精品久久久久9999| 亚洲国产一区二区三区在线观看| 欧美夜福利tv在线| 在线播放亚洲激情| 欧美午夜www高清视频| 人体精品一二三区| 亚洲摸下面视频| 国产精品99久久久久久www| 亚洲va久久久噜噜噜| 92看片淫黄大片看国产片| 91精品久久久久久综合乱菊| 久久在精品线影院精品国产| 日韩欧美亚洲范冰冰与中字| 在线免费看av不卡| 精品国产乱码久久久久酒店| 精品成人国产在线观看男人呻吟| 国产日韩欧美视频在线| 亚洲精品视频网上网址在线观看| 九九精品视频在线| 国产精品午夜一区二区欲梦| 国产日韩欧美在线视频观看| 国产精品久久久久久亚洲影视| 成人免费激情视频| 亚州成人av在线| …久久精品99久久香蕉国产| 国产亚洲欧美另类中文| 日韩av在线免费观看一区| 国产欧美精品日韩精品| 九九热r在线视频精品| 久久久久久噜噜噜久久久精品| 亚洲欧美中文日韩在线v日本| 亚洲free性xxxx护士hd| 亚洲色图五月天| 中文字幕国产亚洲2019| 欧美激情视频网站| 色偷偷888欧美精品久久久| 国产不卡精品视男人的天堂| 91精品国产乱码久久久久久蜜臀| 国产成人精品亚洲精品| 亚洲国产一区自拍| 国产精品吊钟奶在线| 久久777国产线看观看精品| 亚洲国产精品中文|