亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Perl文件句柄怎么用

發布時間:2021-12-06 10:49:32 來源:億速云 閱讀:203 作者:小新 欄目:開發技術

小編給大家分享一下Perl文件句柄怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Perl文件句柄

Perl腳本通過間接Perl文件句柄連接到外部世界。從間接Perl文件句柄讀就導入外部數據,向間接Perl文件句柄寫則導出數據。根據間接Perl文件句柄的創建方式,可能連向:

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

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

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

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

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

#perlchange.pl<data.txt>changed.txt

標準錯誤不改變,因此診斷信息(例如,從內置的warn()函數和die()函數返回的信息)在屏幕上顯示。

間接Perl文件句柄

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

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

open(my$in,$infile)ordie"Couldn'tread$infile:$!";  while(<$in>){  #dosomethingwith$_  }  close$in;

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

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

 }

【編輯推薦】

以上是“Perl文件句柄怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桂东县| 湖北省| 石阡县| 遵化市| 儋州市| 英超| 三台县| 鹤壁市| 桐庐县| 育儿| 罗平县| 海晏县| 盐城市| 巢湖市| 洛扎县| 阳江市| 嘉兴市| 中宁县| 临武县| 樟树市| 大城县| 炉霍县| 阿勒泰市| 玉林市| 丰台区| 鄢陵县| 久治县| 西乌珠穆沁旗| 郯城县| 广宁县| 金平| 称多县| 绥中县| 鹤壁市| 新邵县| 镇远县| 昂仁县| 白河县| 临武县| 梁山县| 壶关县|