<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
    數(shù)據(jù)加載中……

    Perl文件及目錄操作

    大多數(shù)程序都不是孤立的,它們與它們的環(huán)境相互作用。很多的程序也需要通過文件操作實(shí)現(xiàn)數(shù)據(jù)的存貯和交換。?文件句柄(file?handle)是Perl程序中為程序和外部世界提供I/O連接的名稱。建議全部使用大寫字母以示與變量等的區(qū)別。特別地,也可以將STDIN/STDOUT/STDERR也認(rèn)為?是Perl的文件句柄,分別代表標(biāo)準(zhǔn)輸入/標(biāo)準(zhǔn)輸出/標(biāo)準(zhǔn)錯(cuò)誤輸出。?

    打開及關(guān)閉文件?

      Perl的文件操作與C語言極為相似。如:?

    open(FILENAME,"abc.txt");?

      該調(diào)用為讀文件打開,若為寫文件而打開,需在文件名前加上大于號:?

    open(FILENAME,">abc.txt");?

      若要追加至文件尾,可在文件名前加上兩個(gè)大于號:?

    open(FILENAME,">>abc.txt");?

      以上三種open()格式在成功時(shí)返回真,失敗時(shí)返回假。但程序中通常沒有提示,出錯(cuò)時(shí)往往會被人們忽略。?通常當(dāng)需要給出出錯(cuò)提示時(shí),可加入die()函數(shù)。例:?

    open(OUTFILE,">/tmp/outfile")||?
    die?"出錯(cuò),不能建立/tmp/outfile\n";?

      當(dāng)只有open失敗時(shí),才會執(zhí)行die給出出錯(cuò)提示。?

      對文件句柄的操作完成后,可以用close操作符關(guān)閉文件。如:?

    close(OUTFILE);?

    -x?文件測試?

      Perl的文件操作也可以先測試文件是否存在,是否可讀寫等。如:?

    $x="abc.txt";?
    if(-e?$x)?{?#abc.txt是否存在??
    #?存在操作?
    }?else?{?
    printf?"文件不存在。\n";?
    }?

    -e操作符測試文件或目錄是否存在。?

      以下為文件測試清單:?



    文件測試?測試操作符提供的信息?
    -r?文件或目錄可讀?
    -w?文件或目錄可寫?
    -x?文件或目錄執(zhí)行?
    -o?文件或目錄歸用戶所有?
    -R?文件或目錄對真正用戶可讀?
    -W?文件或目錄對真正用戶可寫?
    -X?文件或目錄對真正用戶執(zhí)行?
    -O?文件或目錄歸真正用戶所有?
    -e?文件或目錄存在?
    -z?文件存在且大小為0?
    -s?文件或目錄存在且不為0(返回字節(jié)數(shù))?
    -f?文件為普通文件?
    -d?文件為目錄?
    -l?文件為符號鏈接?
    -p?文件為命名管道(FIFO)?
    -S?文件為一個(gè)套口(socket)?
    -b?文件為塊特殊文件?
    -c?文件為字符特殊文件?
    -t?打開tty控制臺的文件句柄?
    -u?文件或目錄是設(shè)置用戶ID號?
    -g?文件或目錄是設(shè)置用戶組ID號?
    -k?文件或目錄的sticky位置位?
    -T?文件是文本文件?
    -B?文件是二進(jìn)制文件?
    -M?以天為單位的存在時(shí)間?
    -A?以天為單位訪問時(shí)間?
    -C?以天為單位同代碼更改時(shí)間?


    刪除文件?

      Perl的unlink()操作符可實(shí)現(xiàn)刪除文件。如:?

    unlink("abc.txt");?#刪除abc.txt?

    文件重命名?

      Perl的rename()操作符可實(shí)現(xiàn)文件重命名。如:?

    rename("abc","zmd")||die?"出錯(cuò),不能更名";?

      此時(shí)將abc更名為zmd,成功返回真,否則給出出錯(cuò)提示。?

    目錄操作?

      Perl中處理目錄非常類似于處理文件。?

      打開目錄句柄:?

    opendir(ETC,"/etc")||die?"出錯(cuò),不能打開目錄";?

      關(guān)閉目錄句柄:?

    closedir(ETC);?

      創(chuàng)建目錄:?

    mkdir("zmd",0777)||die?"不能創(chuàng)建zmd目錄";?

      0777為內(nèi)部權(quán)限格式。?

      刪除目錄:?

    rmdir("zmd")||die?"不能刪除zmd目錄"。

    posted on 2006-08-05 22:09 weidagang2046 閱讀(17686) 評論(1)  編輯  收藏 所屬分類: Perl

    評論

    # re: Perl文件及目錄操作  回復(fù)  更多評論   

    grrgrg
    2012-08-13 21:09 | ergregreg
    主站蜘蛛池模板: 免费国产污网站在线观看15| 99久久综合国产精品免费| 亚洲精品福利在线观看| 青青草免费在线视频| 麻豆亚洲AV成人无码久久精品| 国产成人亚洲精品91专区手机| 182tv免费视频在线观看| 亚洲毛片基地4455ww| 亚洲av区一区二区三| 久久国产精品萌白酱免费| 亚洲精品无码专区| 亚洲成AV人片在WWW色猫咪 | 成人浮力影院免费看| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲AV成人影视在线观看| 一级做a爰片久久毛片免费陪 | 国产成人一区二区三区免费视频 | 国产在线98福利播放视频免费| 国产婷婷成人久久Av免费高清| 国产成人精品日本亚洲网址 | 亚洲伊人久久大香线蕉结合| 亚洲国产成人a精品不卡在线| 精品免费久久久久久久| 日日摸夜夜添夜夜免费视频| 亚洲18在线天美| 国产亚洲一区二区三区在线| 蜜桃精品免费久久久久影院 | 亚洲日韩国产精品第一页一区| 好男人看视频免费2019中文| 国产成人精品无码免费看| 特级毛片A级毛片免费播放| 亚洲一区电影在线观看| 亚洲va中文字幕无码久久| 无码不卡亚洲成?人片| 成熟女人牲交片免费观看视频| 久久免费国产视频| 国产高潮久久免费观看| 亚洲日韩AV一区二区三区四区| 亚洲网站在线观看| 亚洲av无码不卡一区二区三区| 亚洲一区二区三区在线播放 |