![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Perl
文章平均质量分 54
peng_zhou
软件从业人员;
Linux,Python/Perl爱好者;
略懂Symbian/S60;
正在学习Google Android
展开
-
[Perl] 几个Perl的小技巧
其实就是把小骆驼第五版的17章做了个中文摘要,这些高级技巧常常忘记,写一写希望能帮助自己加深记忆。1. 用eval获得程序的执行错误$a = 10;$b = 0;$c = $a/$b;会发生什么?程序会crash,因为有浮点数异常。用eval就可以做到两全,既执行语言,又能在出现异常的时候不crash$a = 10;$b = 0;eval {$c = $a/原创 2008-12-30 14:50:00 · 702 阅读 · 0 评论 -
[Perl]处理IO多路转接
IO多路转接模型在"unix环境高级编程"里有重点讲到,其基本模型可以用这个典型的例子加以归纳:1) 要接收socket套接字传来的数据,并在标准输出上显示;2) 要接收标准输入,在标准输入上显示后发生到网络;这个例子在实际应用中很常见,比如我们使用的telnet客户端,或ssh客户端。编程上该如何处理呢?1)多进程:两个进程分别单独处理上面1)、2)中提到的事务原创 2009-03-06 11:25:00 · 583 阅读 · 0 评论 -
[Perl]用log4perl记录日志
今天看到一个关于介绍log4perl用法的好东东,按照习惯,把其中的要点记录下来。logger 是用于产生日志的对象,其中三个重要的属性:1. Levels:用于定义日志内容的优先级,包括DEBUG, INFO, WARN, ERROR, FATAL;2. Categories: 用于定义是日志来自系统的那一部分;3. Appenders:用于说明你的日志输出到哪里;原创 2009-03-06 11:23:00 · 3703 阅读 · 1 评论 -
[Perl]pack/unpack函数--利用模板控制文字格式
在chinaunix上看到用pack/unpack函数,利用模板格式化读取内容,觉得有点意思,于是去看了看perltutpack,很长,没有看完,这里只介绍最基本的场景和用法。假设你有这样一个文件:Date |Description | Income |Expenditure01/原创 2009-03-06 11:17:00 · 2475 阅读 · 1 评论 -
[Perl] 变量$` ,$' 和@-
看到这些古怪的符号却不知道他们代表什么,怎么办?查perldoc perlvar! $`也叫$PREMATCH,指字符串中正则匹之前的部分;$ 也叫$POSTMATCH,指字符串中正则式之后的部分;不过它们都可能带来性能上的问题,因此推荐使用@-作为替换。 @-也叫@LAST_MATCH_START, 它是一个list, 记录最后一次正则匹配开始的位置。$-[0]就是原创 2009-03-06 11:55:00 · 430 阅读 · 0 评论 -
[Perl]正则表达式中使用变量
sub regfromvar{ my $str1="requestform"; my $str2=$str1; my $parttern = "request(form)"; my $replacement = $1; print $str1,"/n"; if($str1 =~ s/$partt原创 2009-03-06 11:27:00 · 4898 阅读 · 0 评论 -
[Perl]用perl抓网页
经常看到的是LWP::Simple这个模块,用它来抓网页最简单。昨天心血来潮,用了一把WWW::Mechanize,这个模块比LWP::Simple功能强大,可以把一个网页上的链接提出来,可以按正则表达式搜索文字,图片等。记得之前在水木上看到过一个常用Perl模块的列表,找到了也准备贴到这里,以后可能会有用得着的时候。原创 2009-03-06 11:16:00 · 811 阅读 · 0 评论 -
[Perl]Perl module的一些小结
Perl Module关于Perl module改如何使用,如何编写,现在初步有一些肤浅的体会,总结如下:1. 如何引用不在系统默认路径中的module?方法1:使用lib use lib qw (/your/path/to/module);貌似这几乎等价于BEGIN {unshift (@INC, LIST)}方法2:修改@INCBEGIN { unshift @INC, /home/roge原创 2008-12-18 11:35:00 · 964 阅读 · 0 评论 -
[Perl]获取shell命令的执行结果
Perl里可以调用Shell命令,有时需要根据shell命令的返回结果做进一步的工作,如何获得shell的执行结果?方法有很多:1. 重定向shell的标准输出或标准错误输出到某临时文件,然后再从临时文件中读出执行结果。这个办法的好处是可以把标准输出和标准错误输出分开保存!2. my $res = `ls`;这种方法很直接,也很想shell3. open( my $fh, "ls |") or d原创 2008-12-16 13:42:00 · 1714 阅读 · 0 评论 -
[Perl] Getopt::Long模块用法
阅读perldoc.perl.org是最好的掌握模块使用方式的途径。还是那句话,20%的内容能够满足80%的需求,所以这个只是简单描述Getopt::Long的用法。1.选项可以保存在标量里 my $verbose = ; # option variable with default value (false) my $all =原创 2008-12-16 13:35:00 · 5729 阅读 · 0 评论 -
[Perl]如何使用perl对unicode的支持
转载一篇好文,来自IBM DeveloperWorks功能丰富的 Perl: Perl 增强了对 Unicode 的支持其中可以学到binmode的用法,EOF的用法,以及unicode的相关用法。Perl的运行选项也最好加“-C”,显示支持utf8.和utf8相关的模块有utf8, Encode。如何判断一个字符是utf8编码还是非utf8编码?my $原创 2008-12-16 13:29:00 · 842 阅读 · 0 评论 -
[Perl]怎样判断一个字符是不是ASCII码
主要还是看ASCII码的值,$str =~ m/[^/0-/127]/$str =~ m/[^/x0-/x7f]/要注意反斜线的作用,转义符,一定不要少!原创 2008-12-16 13:28:00 · 1615 阅读 · 0 评论 -
[Perl] Data::Dumper模块的用法简介
Perl由于有了引用,使得我们可以在不同的数据结构之间灵活的嵌套数据结构。比方说,Hash的value可以是标量,也可以嵌套list,甚至还可以继续嵌套hash。这样使得我们写代码的确方便了不少,但有的时候我们希望对这些复杂的数据结构有个直观的感受,也就是说能够用perl的语法吧数据结构以及实际值表示出来。这在开发阶段尤其有用!正好Perl的模块Data::Dumper原创 2008-12-16 13:30:00 · 15757 阅读 · 3 评论 -
[Perl] 用Perl解析JSON文件
最近接触了一种叫做JSON (JavaScript Object Notation) 的数据格式,官方的说法是“一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成“。 我的感觉是这个东东和XML之类的格式类似,总之当我们需要格式化地传输数据时,这些东西就可以起作用了。 关于JSON本身是怎么组织数据的,可以去这里。数据格式定义好了,剩下的事情就是用编程语言解析它原创 2008-12-30 17:31:00 · 3367 阅读 · 0 评论 -
[Perl]对非标量函数返回值的处理
函数的返回值肯定不可能只是标量,当返回值为多个时,我们可以把返回值放入列表,这是很正常的。但是如果函数的其中一个返回值不是标量,情况会是什么样子?#!/usr/bin/perlsub get_value{ my $err = 0; my @arr1; my @arr2; push @arr1, "item for arr1"; push @原创 2009-03-06 11:29:00 · 1297 阅读 · 0 评论