随笔分类 -  perl

Perl Unicode全攻略
摘要:耐心看完本文,相信你今后在unicode处理上不会再有什么问题。 本文内容适用于perl 5.8及其以上版本。 perl internal form 在Perl看来, 字符串只有两种形式。 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫string。 也就是说: Perl只认识两种编码: Ascii(octets)和utf8(... 阅读全文

posted @ 2008-12-10 14:31 starspace 阅读(844) 评论(1) 推荐(0)

实例详细介绍各种字符集编码转换问题 [转]
摘要:本文背景: 本人在编程时需要匹配字符串,由此想到了如果文件是各种字符编码的话,匹配结果有可能不正确,那么,如何判断不同的字符集?如何在不同字符集之间做转换?对于UNICODE编码逐渐通用的情况下,我们软件人员如何从容应对? 本文首先对常用字符集进行总结,然后在字符集的显示及转换上以实例介绍,最后总结了编程中遇到的编码问题。 本文目的: 对字符集编码做详细介绍,关键配以实例讲解,降低问题的复杂度。 ... 阅读全文

posted @ 2008-12-10 14:29 starspace 阅读(709) 评论(0) 推荐(0)

Perl对中文的处理问题
摘要:发信人: chaoslawful (Skeleton Warrior), 信区: Perl 标 题: 关于Perl对中文的处理问题 发信站: BBS 水木清华站 (Sat Oct 25 12:17:27 2003), 转信 大家经常使用正则表达式的字符集从字符串中抽取或排除中文字符,但是这样做很费事,效果也并不是很理想。实际上Perl从5.6开始已经开始在内部使用 utf8编码来表示字符,也就是... 阅读全文

posted @ 2008-12-10 14:28 starspace 阅读(878) 评论(0) 推荐(0)

perl对中文的处理(encode,decode)
摘要:最近在处理中文时遇到乱码的问题,google了一下,发现下面这篇文章。茅塞顿开! Perl从5.6开始已经开始在内部使用utf8编码来表示字符,也就是说对中文以及其他语言字符的处理应该是完全没有问题的。我们只需要利用好Encode这个模块便能充分发挥Perl的utf8字符的优势了。 下面就以中文文本的处理为例进行说明,比如有一个字符串"测试文本",我们想要把这个中文字符串拆成单个字符,可以这样写:... 阅读全文

posted @ 2008-12-10 14:27 starspace 阅读(1663) 评论(0) 推荐(0)

perl与中文信息处理
摘要:一、文件分割 #!/usr/bin/perl #此程序将一个大文本文件分成两个。 #以一个.txt结尾被分割文件作为参数。 #如果没有提供待分割文本,那么程序中止运行。 die if $#ARGV == -1; #输入文件以.txt结尾,输出文件替换.txt扩展名为.out1和.out2 $outfile1 = $ARGV[0]; $outfile2 = $ARGV[0]; $outfile... 阅读全文

posted @ 2008-12-10 14:23 starspace 阅读(900) 评论(0) 推荐(0)

Perl 中输出 hash 和 array
摘要:Perl 中输出 hash 的全部內容, 有以下几种方法: while(my ($key, $val) = each(%hash)) { print "$key $val" } %hash = qw / car 600k bike 70k /; print $_ , $hash{$_} , "\n" foreach (keys %hash); print "$_ $... 阅读全文

posted @ 2008-12-05 15:25 starspace 阅读(5687) 评论(0) 推荐(0)

利用有限自动机分析正则表达式
摘要:版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2006/05/08/parse-regex-with-DFA/以及本声明。 程序编译的第一个阶段是词法分析,即把字节流识别为记号(token)流,提供给下一步的语法分析过程。而识别记号的方法就是正则表达式的分析。本文介绍利用有限自动机分析表达式的方法。 概念 ... 阅读全文

posted @ 2008-12-05 11:39 starspace 阅读(1103) 评论(0) 推荐(0)

[Perl]管道、进程及其他
摘要:版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/09/04/perl-pipe-process-etc/以及本声明。 昨天一个同事问我关于Perl中的 -| 描述符的问题。他的程序大概是这样的: unless (open FH, "-|") { exec "foo bar"; # 用exec执行另一个程... 阅读全文

posted @ 2008-12-05 11:37 starspace 阅读(576) 评论(0) 推荐(0)

正则表达式中的替换字符串不会被转义和扩展
摘要:[work]$ echo abcd |sed 's/a/a.conf\n/gi;' a.conf bcd [work]$ echo abcd |sed 's/a/a.conf\n\ cc/gi;' a.conf ccbcd 阅读全文

posted @ 2008-11-19 11:58 starspace 阅读(378) 评论(0) 推荐(0)

Perl命令行应用介绍
摘要:取自 PerlChina.org - wiki Perl命令行应用介绍 作 者: Dave Cross 发 表:August 10, 2004 原 名: Perl Command-Line Options 原 文:http://www.perl.com/pub/a/2004/08/09/commandline.html 译 者: Qiang 审... 阅读全文

posted @ 2008-11-14 21:44 starspace 阅读(391) 评论(0) 推荐(0)

PERL 内置变量 [转]
摘要:PERL 内置变量 use vars qw($myconfig); $myconfig = { config_file_name => 'default_config', ... } 其中 qw含义见下表所示: Customary || Generic Meaning ||Interpolates ===========================... 阅读全文

posted @ 2008-11-12 11:42 starspace 阅读(417) 评论(0) 推荐(0)

利用Perl解析XML文件 [转]
摘要:当在Perl中使用XML时,你会有将近五百个CPAN模块可以选择,每一个都支持整合Web服务的不同方面。此外,Perl的核心库包括多个支持XML的模块。这篇文章就关注于一个最早期且涉及最频繁的核心模块:XML::Parser. XML::解析器系列 最初的Perl解析器XML::Parser::Expat由Larry Wall在几年前编写并由Clark Cooper保持延续。模块作为E... 阅读全文

posted @ 2008-11-12 11:28 starspace 阅读(626) 评论(0) 推荐(0)

采用递归的方法遍历目录
摘要:采用递归的方法遍历目录: my($root) = "C:\\temp"; DoDir($root); sub DoDir { my($dir) = shift; my($file); opendir(DIR, $dir) || die "Unable to open $dir :$!"; my(@files) = grep {!/^\.\.?$/ } rea... 阅读全文

posted @ 2008-11-11 16:10 starspace 阅读(246) 评论(0) 推荐(0)

Perl相关文章
摘要:perl的现状 译:saladjonk 校:fayland 优化你的 Perl 代码 也是很老的一篇东西了。 译:chunzi 校:fayland interview_with_allison Perl开发团队核心人物之一Allison Randa... 阅读全文

posted @ 2008-11-07 19:15 starspace 阅读(320) 评论(0) 推荐(0)

[Perl]引用传递和值传递
摘要:[Perl]引用传递和值传递 版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/10/15/perl-ref/以及本声明。 这个题目似乎有些不太合适,因为这并不是我们常说的引用传递和值传递。但是我想提醒大家这一点,否则很容易犯错误。 问题:map语句的代码段中使用的 $_,是列表中的值本身,还是将列表中的值复制到 $... 阅读全文

posted @ 2008-11-07 19:11 starspace 阅读(392) 评论(0) 推荐(0)

Getopt::Long 模块zz [转]
摘要:处理命令行选项是一个很重复的事情,Getopt::Long 把这个过程简单化了。使用这个模块其实只要知道一些常用的用法就行了。 这是文档中的例子: use Getopt::Long; my $data = "file.dat"; my $length = 24; my $verbose; $result = GetOptions ("length=i" => \$length, # ... 阅读全文

posted @ 2008-11-07 17:16 starspace 阅读(1150) 评论(0) 推荐(1)

perl中直接修改参数的函数
摘要:chomp chomp是一个函数,它直接对参数进行修改。作为一个函数,它有一个返回值,为移除的字符的个数: $food = ; $betty = chomp $food; #得到值1 通常我们这么写: chomp ($text = ); #读入,但不含换行符 foreach 控制变量 控制变量不是这些列表元素中的一个拷贝而是这些元素本身。也就是说,如果在循环中修改这个变量,那原始列表中的元素也会被... 阅读全文

posted @ 2008-11-07 13:29 starspace 阅读(429) 评论(0) 推荐(0)

导航