成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

術語匯編 全面認識Perl文件句柄

開發 架構
Perl文件句柄的概念你是否聽過,Perl腳本通過Perl文件句柄連接到外部世界。從Perl文件句柄讀就導入外部數據,向間接Perl文件句柄寫則導出數據。

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

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文件句柄,這樣用戶就能夠獨立地轉移它們;例如,將正常輸出發送到文件而將錯誤輸出發送到屏幕。

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

 

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文件句柄,然后存儲在***個參數中,
例如:

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

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

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

【編輯推薦】

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

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-15 17:50:47

Perl模式

2010-07-28 15:21:01

Flex函數

2010-07-13 10:21:19

2010-07-19 16:56:56

Perl線程

2010-07-26 16:54:15

Perl引用

2010-07-13 09:02:16

Perl

2010-07-20 09:05:08

Perl類

2010-09-26 17:04:48

JVMJava虛擬機

2010-07-15 15:47:46

Perl守護進程

2010-07-20 16:25:50

Perl正則表達式

2010-07-14 11:27:42

Perl多進程

2010-07-16 17:12:58

Perl析構函數

2010-07-13 09:58:51

Perl關聯數組

2010-06-07 13:02:46

Hadoop簡介

2010-08-05 14:51:36

AdobeFlex

2010-09-17 09:19:08

Java API

2010-06-10 18:27:00

UML語言

2010-08-10 10:32:02

Flex語言

2010-07-27 08:59:19

FlexBuilder

2010-06-11 09:33:47

UML順序圖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区精品视频 | 亚洲精品一区二区三区蜜桃久 | 日韩福利| 国产xxxx搡xxxxx搡麻豆 | 综合久久综合久久 | 成人免费小视频 | 丁香色婷婷 | 毛片在线免费 | 久久精品欧美一区二区三区不卡 | 久草视频在线播放 | 一区二区三区免费在线观看 | 亚洲v日韩v综合v精品v | 日韩av在线一区 | 国产精品久久国产愉拍 | 香蕉一区 | 久久精品福利 | 亚洲午夜精品久久久久久app | 亚洲视频免费 | 久久午夜精品福利一区二区 | 在线国产欧美 | 国产在线一区二区 | 精品免费| a级毛片毛片免费观看久潮喷 | 国产午夜久久久 | aaaa一级毛片| 91麻豆精品国产91久久久久久 | 欧美日韩国产精品一区二区 | 青青久草 | 美女黄视频网站 | 99re在线 | 福利视频一区二区 | 欧美一级黄视频 | wwwxx在线观看 | 一区在线视频 | 国产电影一区二区三区爱妃记 | 欧美久久电影 | 91麻豆精品国产91久久久久久 | 亚洲v日韩v综合v精品v | 欧美在线观看一区 | 国产精品伦理一区二区三区 | 天天操天天干天天透 |