Posts Tagged ‘ Perl

[Perl]刪除指定路徑下的所有目錄及檔案 (遞迴)

剛剛在測試 Perl 用來刪除目錄的指令時,想說找找看有沒有比較狠的方法,果然馬上就讓我看到這一篇的這一個副程式:

sub rmdashrf{ 
    foreach (<$_[0]/*>){ 
        rmdashrf($_) and rmdir if(-d); 
        unlink if(-f or -l); 
    } 
    1; 
} 
rmdashrf("/tmp/test");

這個副程式以遞迴方式執行,可以刪除指定路徑下的所有目錄及檔案。

果然,真正 Perl 的高手寫程式根本不用幾行指令,就可以殺人於無形!

[Perl]如何建立與 Outlook 相容的 IMap 目錄

原因

請參考這一篇

Read more

[Perl]如何得知輸入的字串是否為 UTF-8 編碼

使用下列函數,如果傳回值為 1,表示輸入的字串為 UTF-8 編碼:

#Returns 1 if $text is valid UTF-8 and 0 otherwise.
sub is_utf8 {
    my $text = shift;
    if( $text =~ m/^(
        [\x09\x0A\x0D\x20-\x7E]             # ASCII
        | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
        | \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
        | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
        | \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
        | \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
        | [\xF1-\xF3][\x80-\xBF]{3}         # planes 4-15
        | \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
    )*$/x ){
        return 1;
    }
    else{
        return 0;
    }
} #sub is_utf8

參考網頁

[Perl]Big5/UTF-8 編碼轉換的模組

Big5 及 UTF-8 編碼的轉換方式有兩種 (請先安裝 Encode::compat 模組):

方式一

use Encode::compat;
use Encode qw(from_to);

my $string = "中文";

#Big5 轉 UTF-8
from_to($string, 'big5', 'utf8');
print "$string\n";

#UTF-8 轉 Big5
from_to($string, 'utf8', 'big5');
print "$string\n";

Read more

[轉載][PHP]正規表示式基本語法

轉載自: 中文 PHP 資訊站


首先讓我們看兩個特殊的符號: ^ 和 $。他們的作用是分別指出一個字串的開始和結束。例子如下:

  • ^The:表示所有以「The」開始的字串(「There」、「The cat」等);
  • of despair$:表示所有以「of despair」結尾的字串;
  • ^abc$:表示開始和結尾都是「abc」的字串--呵呵,只有「abc」自己了;
  • notice:表示任何包含「notice」的字串。

像最後那個例子,如果你不使用兩個特殊字元,你就在表示要查找的串在被查找串的任意部分--你並不把它定位在某一個頂端。

Read more

[Perl]如何複製檔案及目錄

use File::Copy;
copy('file1.txt','file2.txt') or die "can't copy: $!\n";

複製目錄

sub copy_dir{
  my $source = $_[0];
  my $target = $_[1];
  use File::Copy;
  opendir(DIR,$source);
  while(my $filename = readdir(DIR)){
    if(-f "$source/$filename")){
      copy("$source/$filename","$target/$filename") or die "can't copy: $!\n";
    }
  }
  close(DIR);
}

參考網頁

  • File::Copy - Copy files or filehandles
  • [Perl]格式化系統 LOG 分析 *

    本文件是參考鳥哥寫的 logfile.sh,我把它改成符合我自己系統的 LOG 分析程式,全面以 Perl 重寫。我自己用了一段時間 (其實也半年了),覺得勉強還可以用,所以公開給大家用看看…
    Read more

    [Perl]安裝 ImageMagick 相關模組 *

    ImageMagick 是個功能強大的圖片工具,讓你讀取、寫入、操作任何熱門的圖片格式,如 GIF、JPEG、PNG、PDF… 等。使用 ImageMagick 可以即時的建立 GIF 的圖片檔案,讓圖形可以更融入網頁等應用介面。你也可以更改圖片的大小、反轉圖形、增強亮度、減少顏色對比、加入額外特殊的效果。圖片可以儲存不同的格式依你的工作需求。
    Read more

    return top