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