目前分類:perl程式 (36)
- Jun 30 Sat 2007 15:48
Tab與Space轉換Text::Tabs[perl]
- Jun 30 Sat 2007 15:40
簡單的段落格式化Text::Wrap[perl]
wrap一次掃瞄一個段落,將它們以字為單位輸出。如果一個字超過輸出的寬度,wrap會根據輸出的寬度斷字,再將剩下的字母接到下一行。
use Text::Wrap qw(wrap $columns);
$columns=72;
die "usage: $0 file" unless @ARGV;
my $file=shift;
- Jun 30 Sat 2007 15:27
監視目錄或目錄樹Win32::ChangeNotify[perl]
Win32::ChangeNotify函式允許程式去監視一個目錄或是目錄樹,程式如下:
一、產生一個Win32::ChangeNotify物件,並且將要監視的目錄與過濾字串(filter string:這個過濾字串包括會觸發通知notification的事件)當作參數傳遞給此物件的建構子。
二、使用wait方法去開啟監視。
三、檢查wait傳回的值看看是否運算的時間已經超過,還是某些「通知」已經顯示。
一、產生一個Win32::ChangeNotify物件,並且將要監視的目錄與過濾字串(filter string:這個過濾字串包括會觸發通知notification的事件)當作參數傳遞給此物件的建構子。
二、使用wait方法去開啟監視。
三、檢查wait傳回的值看看是否運算的時間已經超過,還是某些「通知」已經顯示。
use Win32::ChangeNotify;
- Jun 30 Sat 2007 14:56
處理檔案和目錄的security descriptor Win32::FileSecurity[perl]
Win32::FileSecurity模組允許程式去裡理Windows NT處理檔案和目錄的security descriptor。此模組只能在Windows NT上執行,且只有在支援NT安全模組的地方使用檔案和目錄才會成功。
Get函式取得檔案和目錄的存取控制列表(Discretionary Access Control List, DACL)。Get的參數是一個指向雜湊的參考,執行後會在雜湊中存入帳戶名稱以及一些由存取旗標位元遮罩所組成的值。
Set函式的參數是一個檔案或目錄名稱,以及一個儲存帳戶名稱與相對應的位元遮罩的雜湊表。Get和Set都受於使用者本身的權限。
EnumerateRights函式轉換一個位元遮罩到一個陣列。
MakeMask函式轉換一個儲存權限的串列成位元遮罩。
Get函式取得檔案和目錄的存取控制列表(Discretionary Access Control List, DACL)。Get的參數是一個指向雜湊的參考,執行後會在雜湊中存入帳戶名稱以及一些由存取旗標位元遮罩所組成的值。
Set函式的參數是一個檔案或目錄名稱,以及一個儲存帳戶名稱與相對應的位元遮罩的雜湊表。Get和Set都受於使用者本身的權限。
EnumerateRights函式轉換一個位元遮罩到一個陣列。
MakeMask函式轉換一個儲存權限的串列成位元遮罩。
- Jun 30 Sat 2007 14:36
處理檔案屬性Win32::File[perl]
Win32::File提供兩個函式來處理檔案的屬性:GetAtrributes和SetAttributes,分別包裝了Win32 API:GetFileAttributes和SetFileAttributes。
use Win32::File;
use strict;
my $file=shift || die "need a filename\n";
my $attribs=1;
- Jun 30 Sat 2007 14:22
遊走整個檔案目錄File::Recurse[perl]
File::Recurse可以對在樹中的每一個檔案和目錄進行遞迴操作,並且對每一個找到的檔案和目錄呼叫使用者支援的副常式(File::Find模組也有相同的功能)。
以下示範清除不要的副檔名檔案
以下示範清除不要的副檔名檔案
use File::Recurse;
use strict;
my $kill_rx=q(\.obj$|\.pch$|\.pdb$);
- Jun 30 Sat 2007 13:47
檔案路徑分析File::Basename[perl]
檔案路徑可分為:位置、檔案、副檔名。以c:\perl\bin\perl.exe來說,位置是指c:\perl\bin,檔案名稱為perl,副檔名指.exe。
預設情況下,File::Basename假設你用的是Unix型態的路徑名稱,但可經由呼叫fileparse_set_fstype來改變檔案指定,可用的引數包括VMS, MSDOS, MacOS, AmigaOS, MSWin32。
File::Basename中常用的方法有fileparse, basename, dirname。
fileparse方法會傳回包含路徑名稱三個部份的串列。
basename方法傳回路徑位置。
預設情況下,File::Basename假設你用的是Unix型態的路徑名稱,但可經由呼叫fileparse_set_fstype來改變檔案指定,可用的引數包括VMS, MSDOS, MacOS, AmigaOS, MSWin32。
File::Basename中常用的方法有fileparse, basename, dirname。
fileparse方法會傳回包含路徑名稱三個部份的串列。
basename方法傳回路徑位置。
- Jun 30 Sat 2007 13:28
檔案拷貝及移動File::Copy[perl]
File::Copy提供copy及move兩種方法來拷貝及移動檔案。
copy函式需要兩個參數,參數可以是字串或filehandle參考。
copy函式需要兩個參數,參數可以是字串或filehandle參考。
use File::Copy;
use strict;
usage() unless @ARGV == 2;
- Jun 29 Fri 2007 16:28
取出命令列引數Getopt[perl]
- Jun 29 Fri 2007 00:55
Perl食譜
下面文章是「Perl食譜」這本書前的代序,由Perl之父Larry Wall所寫的。這個序很有趣,他說明烹飪和Perl程式語言到底有什麼關係。廚師的定義不應局限於能自己端出一盤菜,能寫出有用的程,在某方面來說也算是個廚師,只是他的食材不一樣。(謎之聲:你該不是為這篇解套吧?)
有人說隱喻(metaphor)的陷阱最是危險。但某些隱喻巧妙異常,就算掉入陷阱也心甘情願。或許烹飪(cooking)就算得上是一個,至少在此的確是如此。我唯一的問題純粹是個人因素使然-我覺的我變得囉裡囉唆。但由於我眼前的工作艱鉅異常,即使我現在無法長話短說,也是情有可原。
反正,這類事情從來都難不倒我。
有人說隱喻(metaphor)的陷阱最是危險。但某些隱喻巧妙異常,就算掉入陷阱也心甘情願。或許烹飪(cooking)就算得上是一個,至少在此的確是如此。我唯一的問題純粹是個人因素使然-我覺的我變得囉裡囉唆。但由於我眼前的工作艱鉅異常,即使我現在無法長話短說,也是情有可原。
反正,這類事情從來都難不倒我。
- Jun 27 Wed 2007 22:30
統計留言版有哪些pixnet網友來留過言[perl]
- Jun 03 Sun 2007 22:21
LWP內的模組[perl]
- May 28 Mon 2007 01:12
利用HTML::LinkExtor做連結檢查器[perl]
有時候網頁所連結的內容不見了,除非有人告訴你,否則還真懶得去找,對維護網頁的人來說,應該都會有這樣的一個工具,就是利用程式去幫你找找那個連結的網頁不見,現在我們也來實作一個。
想法是這樣的,先把網頁抓下來,解析網頁內容看看有沒有a標簽,有的話就試著連連看網頁是否還存在。
程式碼
use LWP::Simple;
想法是這樣的,先把網頁抓下來,解析網頁內容看看有沒有a標簽,有的話就試著連連看網頁是否還存在。
程式碼
use LWP::Simple;
- May 27 Sun 2007 22:59
利用LWP::UserAgent與網頁互動[perl]
LWP::UserAgent是個網頁的代理模組,利用他可以和網頁來進行互動,通常的步驟是
一、建立LWP::UserAgent物件,設定使用者代理程式的型態。
二、建立一個HTTP::Request物件,用來儲存所使用的要求方法(request method)與URL。參考常用的HTTP回應碼。
三、使用header方法將必要的標頭加入request物件中。
四、將要求物件傳給使用者代理物件中的request方法,然後解讀與處理傳回的HTTP::Response物件。
一、建立LWP::UserAgent物件,設定使用者代理程式的型態。
二、建立一個HTTP::Request物件,用來儲存所使用的要求方法(request method)與URL。參考常用的HTTP回應碼。
三、使用header方法將必要的標頭加入request物件中。
四、將要求物件傳給使用者代理物件中的request方法,然後解讀與處理傳回的HTTP::Response物件。
- May 27 Sun 2007 21:51
利用LWP::Simple下載網頁[perl]
- May 27 Sun 2007 21:07
利用URI::URL來處理URL[perl]
URL(Uniform Resource Locator)是一個Internet上的位址。其構成包括四部份
一、協定(ex. http)
二、主機名稱(ex. www.abc.com)
三、埠號(ex. 80)
四、路徑(/abc/index.html)
一、協定(ex. http)
二、主機名稱(ex. www.abc.com)
三、埠號(ex. 80)
四、路徑(/abc/index.html)