perl之建立臨時檔案夾遇到同名檔案該咋辦

來源:互聯網
上載者:User

標籤:perl

當你在目錄下進行一系列操作時,若要建立許多檔案或者修改檔案,可能會遇到許多麻煩的事。所以呢,建立一個檔案夾,然後在這個檔案夾下建立檔案或者修改檔案。假設,你的代碼要在一個目錄下建立一個檔案夾,名為TmpFolder,然後,在檔案夾下進行一系列操作。但是,目錄下可能之前就會出現TmpFolder,這樣一搞,會出問題的。該怎麼解決呢,有以下2個:

(1)若是遇到有檔案夾的名字是TmpFolder,就不要這個檔案夾名字了,直接用TmpFolder2,不就是2了點嘛;但是,要是檔案夾

TmpFolder和TmpFolder2都存在呢,就直接用TmpFolder3把,這樣一直優雅地迭代下去直到老。(像微軟處理同名檔案一樣)

(2)當然,要是你硬要用TmpFolder,就是任性,這也不是沒有辦法。如果目錄下存在TmpFolder,就把檔案夾TmpFoler命名為一個在當前不會重複的檔案名稱,然後再建立檔案夾TmpFolder,在一系列操作後,再把檔案夾名改過來就得了。那麼,問題來了,這個在當前不會重複的檔案名稱該怎麼寫?在perl裡,$$是指perl解譯器的進程id,這個id在當前是唯一的。所以呢,就可以如下這樣寫,

my $tmpfile = 'TmpFolder';my $chgfile = 'TmpFolder'. $$;if(-d $tmpfile){        rename($tmpfile, $chgfile); # 如果有重名檔案夾,就改名為指定名稱        mkdir $tmpfile;# 然後建立臨時檔案夾        print "helo";#         rmdir $tmpfile;# 刪除臨時檔案夾        rename($chgfile, $tmpfile);# 恢複原狀}else{        mkdir $tmpfile ;# 要是沒有重名,就沒什麼問題了        print "yay";        rmdir $tmpfile;}


perl之建立臨時檔案夾遇到同名檔案該咋辦

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.