91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Perl目錄句柄基本操作有哪些

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

這篇文章主要介紹Perl目錄句柄基本操作有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Perl目錄句柄操作(opendir,readdir,closedir)

從給定目錄得到其文件名列表的方法還可以使用Perl目錄句柄(directoryhandle)。Perl目錄句柄外形及其行為都很像文件句柄。打開(使用opendir而非open),從中讀入(使用readdir而非readline),關閉(使用closedir而非close)。不是讀入文件的內容,而是將一個目錄中的文件名(以及一些其它東西)讀入,如下例:

my$dir_to_process="/etc";  opendirDH,$dir_to_processordie“Cannotopen$dir_to_process:$!”;  foreach$file(readdirDH){  print“onefilein$dir_to_processis$file\n”;  }  closedirDH;

同文件句柄一樣,Perl目錄句柄會在程序結束時自動關閉;或者當Perl目錄句柄被重新打開而指向另一個目錄時,也會自動關閉。

在Perl以前的版本中,globbing它會調用別的進程;Perl目錄句柄不會,因此它更有效率,能更有效的利用系統資源。但是,這是一種底層(lower-level)的操作,意指我們需要自己處理更多的事情。

while($name=readdirDIR){  nextunless$name=~/\.pm$/;  …moreprocessing…  }

上述的語法是正則表達式而非glob。如果想要所有的非點(non-dot)文件(不是由點開頭的文件),可以使用:

nextif$name=~/^\./;

如果想要除了通常的點(當前目錄)以及點點(父目錄)之外的所有文件,我們可以明確地使用下面的語句:

nextif$nameeq“.”or$nameeq“..”;

現在我們討論最容易混淆的部分,請打起精神來。readdir操作返回的文件名沒有路徑名部分,而只是文件名。因此,我們的得到的不是/etc/passwd而是passwd。由于這又是一個不同于globbing的地方,人們也經常在這里出現混淆。
你需要將路徑名加上,以得到文件的全名(路徑名+文件名):

opendirSOMEDIR,$dirnameordie“Cannotopen$dirname:$!”;  while(my$name=readdirSOMEDIR){  nextif$name=~/^\./;#跳過點文件  $name=“$dirname/$name”;#加上目錄名  nextunless–f$nameand–rname;#除非是可讀文件如果沒有加上目錄名,則測試部分將只檢測當前目錄下的文件,而不是$dirname下的文件。

以上是“Perl目錄句柄基本操作有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

乡宁县| 双鸭山市| 隆化县| 玛曲县| 松阳县| 四会市| 常德市| 砚山县| 永昌县| 湛江市| 阜平县| 江陵县| 四子王旗| 延吉市| 玛纳斯县| 马山县| 江城| 乐平市| 崇阳县| 西乡县| 乐昌市| 紫阳县| 商河县| 临高县| 长宁区| 翁源县| 郧西县| 岳池县| 佛冈县| 定西市| 巫山县| 长沙县| 当涂县| 旅游| 安岳县| 瑞昌市| 铜山县| 银川市| 杭州市| 锡林郭勒盟| 红原县|