日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
術(shù)語匯編 全面認(rèn)識Perl文件句柄

本文和大家重點討論一下Perl文件句柄的概念,Perl腳本通過Perl文件句柄連接到外部世界。當(dāng)Perl腳本開始執(zhí)行時,默認(rèn)地打開3個Perl文件句柄:STDIN,STDOUT和STDERR。

創(chuàng)新互聯(lián)建站主營寧國網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),寧國h5成都微信小程序搭建,寧國網(wǎng)站營銷推廣歡迎寧國等地區(qū)企業(yè)咨詢

Perl文件句柄

Perl腳本通過間接Perl文件句柄連接到外部世界。從間接Perl文件句柄讀就導(dǎo)入外部數(shù)據(jù),向間接Perl文件句柄寫則導(dǎo)出數(shù)據(jù)。根據(jù)間接Perl文件句柄的創(chuàng)建方式,可能連向:

磁盤文件。
硬件設(shè)備,例如打印機(jī)等。
本地進(jìn)程,例如窗口系統(tǒng)中的一個命令行窗口。
遠(yuǎn)程進(jìn)程,例如一個網(wǎng)絡(luò)服務(wù)器。
"位存儲桶"設(shè)備,也就是Unix/Linux系統(tǒng)中的/dev/null,該設(shè)備僅是吸引數(shù)據(jù)并忽略它。
間接Perl文件句柄可以是任何有效的Perl標(biāo)識符,由大小寫字母、數(shù)字和下劃線字符組成。不同于其他變量的是,間接Perl文件句柄沒有標(biāo)志性的前綴(像"$","@","%")。因此,為了使間接Perl文件句柄有所區(qū)別,Perl程序員經(jīng)常以全部大寫字母表示它們。

當(dāng)Perl腳本開始執(zhí)行時,默認(rèn)地打開3個間接Perl文件句柄:STDIN,STDOUT和STDERR。STDOUT間接Perl文件句柄(即"standardoutput")標(biāo)準(zhǔn)輸出,是默認(rèn)的輸出間接Perl文件句柄。發(fā)送給這個間接Perl文件句柄的數(shù)據(jù)在用戶指定的輸出設(shè)備上顯示,通常是腳本開始運行的命令行窗口。STDIN(即"standardinput")標(biāo)準(zhǔn)輸入,是默認(rèn)的輸入間接Perl文件句柄。從這個間接Perl文件句柄讀取的數(shù)據(jù)取自用戶選擇的輸入設(shè)備,通常是鍵盤。STDERR(即"standarderror")標(biāo)準(zhǔn)錯誤輸出,用于錯誤信息、診斷、調(diào)試和其他類似的偶發(fā)輸出,默認(rèn)情況下,STDERR和STDOUT使用相同的輸出設(shè)備,但是用戶可以自行改變。

正常輸出和不正常輸出有不同的獨立間接Perl文件句柄,這樣用戶就能夠獨立地轉(zhuǎn)移它們;例如,將正常輸出發(fā)送到文件而將錯誤輸出發(fā)送到屏幕。

 
 
 
  1. #!/usr/bin/perl-w  
  2. chomp($input=<>);  
  3. print"IfIheardyoucorrectly,yousaid:$input\n";  
  4.  

STDERR是warn()函數(shù)和die()函數(shù)的默認(rèn)目標(biāo)。用戶在開始執(zhí)行腳本之前可以改變?nèi)齻€標(biāo)準(zhǔn)間接Perl文件句柄的連接。在Unix/Linux和Windows系統(tǒng)上,使用重定向元字符"<"和">"來完成這種改變。例如,對一個名為change.pl的腳本執(zhí)行這兩條重定向命令,將改變該腳本的標(biāo)準(zhǔn)輸入,使其從文件data.txt中讀取數(shù)據(jù),并改變標(biāo)準(zhǔn)輸出,使處理過的數(shù)據(jù)輸出到文件changed.txt中:

#perlchange.plchanged.txt

標(biāo)準(zhǔn)錯誤不改變,因此診斷信息(例如,從內(nèi)置的warn()函數(shù)和die()函數(shù)返回的信息)在屏幕上顯示。

間接Perl文件句柄

間接間接Perl文件句柄可以使名字空間的管理更簡單。由于間接Perl文件句柄對于當(dāng)前包是全局
的,兩個函數(shù)試圖同時打開"INFILE"會導(dǎo)致沖突。如果兩個函數(shù)使用間接文
件句柄比如"my$infile",則不會發(fā)生沖突,也不用擔(dān)心以后會發(fā)生沖突。

"open"的***個參數(shù)可以是一個間接Perl文件句柄的引用。在Perl5.6.0中,如果
參數(shù)沒有初始化,Perl會自動創(chuàng)建一個間接Perl文件句柄,然后存儲在***個參數(shù)中,
例如:

 
 
 
  1. open(my$in,$infile)ordie"Couldn'tread$infile:$!";  
  2. while(<$in>){  
  3. #dosomethingwith$_  
  4. }  
  5. close$in;  
  6.  

 還有一個方便之處是當(dāng)運行到作用域外或者使用undefine時,Perl文件句柄會
自動關(guān)閉。

subfirstline{
open(my$in,shift)&&returnscalar<$in>;
#noclose()required
}

【編輯推薦】

  1. 解析四大Perl操作符用法
  2. Perl語言中的“指針”用法解析
  3. Perl二維數(shù)組用法全程剖析
  4. 學(xué)習(xí)筆記 深入剖析Perl線程的生命周期
  5. Perl多線程的兩種實現(xiàn)方式

 


當(dāng)前題目:術(shù)語匯編 全面認(rèn)識Perl文件句柄
網(wǎng)站鏈接:http://www.dlmjj.cn/article/cosoccs.html