
Perl
文章平均质量分 73
KataDoc360
Raise your hands!
展开
-
使用DProf测定程序执行效率
代码写多了,程序就会变得臃肿;程序臃肿了,就会变慢。这时提高代码执行效率就非常重要了。但是,代码优化并不是几条best practice就能完成的。那些无关痛痒的空间分配、减少复制等优化措施,虽然有效,但却微乎其微。优化的关键,是要找出瓶颈并解决之,这样才能以最小的代价获得最佳的效果。这就用到Perl的一个强大的工具:DProf。它可以测定程序执行的每个函数所花费的时间,通过它,你可以迅速转载 2009-04-27 14:11:00 · 583 阅读 · 0 评论 -
Perl 内置函数 chr/ord 示例 z
Perl 内置函数 chr/ord 示例Perl 的内置函数 chr/ord 可用来在 Unicode code point(为一数字)和 character 之间转换,下面是使用它们的两个简单示例。#!/usr/bin/perl# t0.pluse strict;use warnings;binmode (STDIN, ":utf8");binmode (STDOUT, ":u转载 2009-02-07 17:12:00 · 681 阅读 · 0 评论 -
perl学习笔记4 z
1. 代码块标签对任何循环块来说,除了do/while或者do/until结构外,他们都可以设置一个“标签”(Label)。除了来对代码块作简要说明之外,这个标签还可以做next;last和redo等循环控制命令的一个“目的地”或“目标”使用。注意,在指定标签名的时候,在它后面要跟一个冒号;且标签一般使用大写。例如:OUTER:循环块 {} 2. 裸块:“裸块”是一种包含了零转载 2008-11-30 13:01:00 · 449 阅读 · 0 评论 -
纯Perl代码生成验证码图片 z
#!/usr/bin/perl open (FILE, >, test.bmp);binmode (FILE);print FILE &bmpNum (&myrand(9999));close (FILE);sub bmpNum{my $verifynum=shift;local @n0 = ("3c","66","66","66","66","66","66","66转载 2008-12-02 14:43:00 · 2301 阅读 · 0 评论 -
perl学习笔记17 z
进程管理1. 简介有两种实现“并发”的主要方法。一种是使每个任务在完全独立的内存空间内运行。也就是说,他们中的每一个都拥有用于执行任务的独立内存区域,这就是进程。另一种是有两个同时执行的任务,也就是执行线程,他们在同一内存空间内运行。这就是所谓的多线程。创建一个线程比创建一个进程更有效率,但代价是:县城更加危险。使用进程可以避免在其他进程不知道的情况下,某个进程擅自对共享数据进行处理。这转载 2008-11-30 13:29:00 · 519 阅读 · 0 评论 -
perl学习笔记11 z
1. 创建格式化报告一个格式的声明是以关键字format开始的,采用如下形式: format formatName= text .其中格式定义的“text”部分由3种类型的行组成:注释行、描述行和行参数。Ø 注释行:是以一个“#”开头,并且在按格式打印时将被忽略。Ø转载 2008-11-30 13:27:00 · 420 阅读 · 0 评论 -
perl学习笔记8 z
1. 用printf和sprintf格式化输出函数printf有如下的格式化功能:a) 圆整浮点数至十进制的某位。b) 以小数点来对齐一列数。c) 右对齐和左对齐输出。d) 在输出行的准确位置插入文本字符。e) 以指数形数来显示浮点数f) 以八进制或十六进制的形式显示无符号的整数。g)转载 2008-11-30 13:04:00 · 1581 阅读 · 0 评论 -
perl学习笔记18 z
图形化与Tk1. GD模块:创建简单的几何图形#! c:/perl/bin/perl# fig21_01.pl use GD;use warnings;use strict; my $image = new GD::Image(320,320); #创建一个GD图像对象。并且传入需要建图象的宽度和高度值(单位象素点)。#X坐标值沿图像从左向右增加;Y坐标值沿图像从顶向转载 2008-11-30 13:29:00 · 1091 阅读 · 0 评论 -
perl学习笔记14 z
1. 结构化查询语句(SQL) Sql命令说明SELECT从一个或多个表中选择字段FROM指定从那个表里取字段。每个SELECT命令必带。WHERE指定选择数据记录的标准ORDER BY指定记录的排列标准(ASC或DESC)INSERT INTO把值插入一个或多个表里UPDATE更新一个或多个的数据 2. DB转载 2008-11-30 13:28:00 · 478 阅读 · 0 评论 -
perl学习笔记10 z
1. 文件检测和sysopenPerl提供了文件检测功能,使程序能发现磁盘上的文件和目录的信息。 检测项含义检测项含义-r文件或目录是否可读-w文件或目录是否可写-e文件或目录是否存在-z文件或目录存在且大小为0-o文件或目录归用户所有-R文件或目录对真正的用户可读-W文件或目录对真正的用户可写-X转载 2008-11-30 13:05:00 · 1617 阅读 · 0 评论 -
perl学习笔记7 z
1. 单引号字串是包含在一对单引号内的任何字符序列。Perl认为包含在单引号内的每一个字符都不具有任何特殊的意义。唯一的两个例外是换码序列反斜杆单引号(/’),它代表字串内一个应保持原样的单引号;以及两个连续的反斜杠(//),它代表字串内一个应保持原样的反斜杠。2. 双引号是包含在一对双引号内的任何字符序列。在双引号字串中,可包含换行符(/n)、制表符(/t)或其他换码序列字符。Perl转载 2008-11-30 13:03:00 · 1118 阅读 · 0 评论 -
perl学习笔记6 z
1. 匹配运算符 m/ /Ø =~运算符被称为绑定运算符。因为无论在它的左边放上什么,它总能够把它绑定砸到它右边的常规表达式运算符。这样,匹配运算符就能作用到字串(注意:如果常规表达式不被绑定到特定的字串,那么它将对一个名为$_的特别变量的值进行操作。)Ø m / / 为匹配运算符,用来检查字符串中是否存在需要匹配的字符。匹配运算符带有两个运算对象。第一个运算对象是要查找的常规转载 2008-11-30 13:02:00 · 526 阅读 · 0 评论 -
Perl常用系统函数 z
指令:print 语法:print Filehandle LIST 说明:这个Filehandle可以看作在I(INPUT)/O(OUTPUT)之间的一个桥梁,可以利用FILEHANDLE来做出数据读入写 出的动作.STDIN是代表从哪连输入数据,例如从电脑的键盘输入;STDOUT是代表从哪连输出数据;例如从电脑的屏 幕输出;STDERR是代表从哪连输出错误的数据,例如从电脑的屏幕输出.而在转载 2009-02-07 17:22:00 · 656 阅读 · 1 评论 -
perl中grep,sort,map用法总结(转) z
from:http://www.voff.cn/bbs/read.php?tid=750简简单单讲map(一)map函数map BLOCK LISTmap EXPR, LISTmap函数对LIST里的每个元素按BLOCK或EXPR进行计算,遍历LIST时,临时将LIST里的每个元素赋值给$_变量。map对每次的计算返回一个结果列表,它在列表上下文里计算BLOCK或EXPR。每个LIST元转载 2008-12-02 14:01:00 · 653 阅读 · 0 评论 -
用perl操作注册表的一些基本函数(转) z
用perl操作注册表的一些基本函数Tag:学习笔记版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://n0thing.blogbus.com/logs/237690.html一 Open():语法:$object->Open($RegistryObj,$hKey); $object A part of the registry.$RegistryObj转载 2008-12-10 12:31:00 · 848 阅读 · 0 评论 -
[转贴]Perl函数pack/unpack解释 z
函数名pack调用语法formatstr = pack(packformat, list);解说把一个列表或数组以在实际机器存贮格式或C等编程语言使用的格式转化(包装)到一个简单变量中。参数packformat包含一个或多个格式字符,列表中每个元素对应一个,各格式字符间可用空格或tab隔开,因为pack忽略空格。 除了格式a、A和@外,重复使用一种格式多次可在其后加个转载 2008-12-04 22:21:00 · 585 阅读 · 0 评论 -
Perl网络编程 socket z
Perl网络编程 Perl很强大,不仅能开发CGI方面的程序,还可以用它进行网络程序的开发。Perl使网络编程更简单,开发速度更快。目前Perl应用范围除了系统维护,程序运行时配置CGI(现在应用的很少了),便是用来进行hacker脚本的编写。Perl脚本的特点是 “简练而强大”,非常适合写Exploit。在网络上可以找到很多国外hacker用Perl写的Exploit程序,而在国内就少了很多转载 2008-12-02 13:48:00 · 678 阅读 · 0 评论 -
perl学习笔记16 z
Web自动化和连网1. LWP概述Ø HTTP:Request请求对象包含了一些用于描述客户对服务器的请求的信息。它所包含的属性有:method(方法)、URL(统一资源定位)、header(标头)和content(内容)。HTTP:Request有4种请求方法:get、put、post和head。URL时所请求的URL地址。标头是一组健/值对,它提供了关于请求的附加信息转载 2008-11-30 13:29:00 · 1755 阅读 · 0 评论 -
perl学习笔记15 z
1. Cookie简介当用户登录一个网站时,这个站点可以在用户的计算机上存储少量的文本,这种少量的文本被称为cookie。下次用户登录该网站时,这个cookie文件会被发回服务器,服务器可以利用这些信息认出用户。一般有4种不同的方式保存数据。两种用到浏览应用程序的内置功能,另一种方法使用客户端cookie文件,最后一种借助具有唯一文件名的服务器端文件。 2. 查询字串当客户机项服转载 2008-11-30 13:28:00 · 354 阅读 · 0 评论 -
perl学习笔记13 z
1. 对象的简介面向对象编程允许创建一些访问数据的接口,这些接口的创建方式独立于数据的实现方式。如果许多程序都是通过某个对象的方法来使用这个对象,那么我们可以随意改变数据的实现方式,而无须修改使用这些数据的程序。2. 类的使用要使用任何类,都必须先创建类的实例(也被称为类的对象)。类的构造函数(constructor)一般使用的名字是new,但perl也允许使用不同的名字作为构建函数转载 2008-11-30 13:28:00 · 605 阅读 · 0 评论 -
perl学习笔记12 z
1. 引用有一种标量可以保存一个值,利用这个值可以在内存找到另外的一个值。这种类型的标量被称为引用。一个引用间接地指向一个值。利用引用来指向另一个值称为“间接引用”。 引用分为两种类型:硬引用(hard reference)和符号引用(symbolic reference)。硬引用直接指向内存中的一个值(而不是一个变量),引用指向的值称为引用对象(referent)。符号引用又称为软引转载 2008-11-30 13:27:00 · 517 阅读 · 0 评论 -
perl学习笔记9 z
1. 文件句柄:Perl简单的认为文件是由一系列的字符组成。每个文件用一个文件结束标志来结束这个文件。从某种意义上来说,文件句柄类似于变量,只是它们不加任何特殊的字符前缀。因此,文件句柄通常使用大写字母出现。事实上,有3种句柄在程序开始运行时就自动打开,分别是STDIN、STDOUT和STDERR。 2. 打开会和关闭文件句柄使用open函数打开文件。语法如下: open转载 2008-11-30 13:05:00 · 659 阅读 · 0 评论 -
perl学习笔记5 z
1. 递归略 2. 作用域规则:全局、字典和动态的Ø 标识符的“作用域”是指程序中一个特定的部分。只有在这个部分中,才可对此标识符进行引用。有的标识符可在程序中的任何地方引用;另一些则只能在有限的部分才能引用。Ø 字典作用域变量,只有在定义他的那个代码快中才能使用它。Ø 动态作用域变量,只有从它创建位置开始,一直到当前块结束之前,才转载 2008-11-30 13:01:00 · 515 阅读 · 0 评论 -
perl学习笔记3 z
1. 散列片断,如果在花括号中提供了多键,便会返回与那些键相对应的值,结果生成的列表会被当作一个数组对待。所以无论是散列片断还是数组片断,都要采用@符号。 2. 应用于散列的函数:Ø Keys函数可返回一个列表,其中包含了散列内的所有键值。Ø Values函数也能返回一个列表,其中包含了散列中的所有值。Ø Each函数每次调用只返回转载 2008-11-30 13:00:00 · 451 阅读 · 0 评论 -
perl学习笔记2 z
1. 列表赋值: ($first,$second) = (“first”,2);变量交换: ($first,$second)= ($second,$first); 2. push函数是将一个元素列表附加到一个数组的末尾。格式如下:push (@array,$element) 他并不改变原来数组的内容,只是附加在原数组内容的后面。如果已经使用$#确定了原数组的大小,那么将不转载 2008-11-30 13:00:00 · 377 阅读 · 0 评论 -
perl学习笔记1 z
数组1. 在perl中,如果将一个非整数值当作数组的下标使用,不会造成语法错误,但仍然会造成逻辑错误。例如,在一个数组下标表达式中,一个非数字的字串下标求值结果为零,因此,表达式返回的肯定是数组中的第一个元素。 2. 对于数组来说,并不一定要求其中的所有元素都具有同样的类型。不过,所有数组元素至少都得为“标量”。因此,包含了整数的数组的一个数组同时也可以包含字串和浮点数。转载 2008-11-30 13:00:00 · 403 阅读 · 0 评论 -
perl对于encode的用法 z
perl对中文的处理(encode,decode)最近在处理中文时遇到乱码的问题,google了一下,发现下面这篇文章。茅塞顿开! Perl从5.6开始已经开始在内部使用utf8编码来表示字符,也就是说对中文以及其他语言字符的处理应该是完全没有问题的。我们只需要利用好Encode这个模块便能充分发挥Perl的utf8字符的优势了。 下面就以中文文本的处理为例进行说明,比如有转载 2008-11-29 22:50:00 · 526 阅读 · 0 评论 -
Perl: Bless略解 z
下面语句为使用该包创建对象的例子:1 #!/usr/bin/perl2 push (@INC,pwd); #Dos下为 cd 命令3 use Cocoa;4 $cup = new Cocoa; 第一行指出Perl解释器的位置,第二行中,将当前目录加到路径寻找列表@INC中供寻找包时使用。你也可以在不同的目录中创建你的模块并指出该绝对路径。例如,如果在/home/test/scri转载 2008-11-27 21:46:00 · 580 阅读 · 0 评论 -
Perl(格式和字符串处理) z
学习Perl推荐使用Perl IDE(功能虽然无法和VS 2005,Eclipse 3.1那样功能那样强大),但是其支持断点处理功能,已经比直接使用命令行功能强大多了。此免费软件的下载点:http://open-perl-ide.sourceforge.net/其他Perl软件列表看此推荐:http://www.shengfang.org/blog/p/perlidesumm.php Perl转载 2008-11-22 22:59:00 · 1261 阅读 · 0 评论 -
Perl如何处理字符串 z
在Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫string. 也就是说: Perl只认识两种编码: Ascii(octets)和utf8(string) 本文内容适用于perl 5.8及其以上版本.perl internal form在Perl看来, 字符串只有两种形式. 一转载 2008-11-22 22:58:00 · 961 阅读 · 0 评论 -
python 正则表达式(转) z
简介Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过 regex 模块提供 Emecs 风格的模式。Emacs 风格模式可读性稍差些,而且功能也不强,因此编写新代码时尽量不要再使用 regex 模块,当然偶尔你还是可能在老代码里发现其踪影。就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Py转载 2008-11-19 22:25:00 · 598 阅读 · 0 评论 -
perl学习点滴1 匿名引用 z
下面是我对perl中的匿名存储的一点想法与总结, 点滴记录自己学习中的一些心得, 若有错误, 还请指正. 看下面这段代码: #!/usr/bin/perl$a=[1,2];print $a->[0], "/n";print $$a[0], "/n";print @$a[0], "/n";print $a[0], "/n";print "=" x 10;print "/n";转载 2008-11-22 14:28:00 · 423 阅读 · 0 评论 -
[Perl]IPC进程间内存共享 z
#!/usr/bin/perl -w#test_server run under administratoruse strict;use IPC::Shareable;my $glue = test.key;my %options = ( create => 1, exclusive => 0, mode => 0644, destroy => 1,);my转载 2008-11-22 14:27:00 · 734 阅读 · 0 评论 -
使用perl分析html文件(3) z
完成制作网页的最后的要求是页面外观的美观,遗憾的是,HTML::TreeBuilder或任何相关的模组都不能帮助完成对这个要求的评分,所以,本文的作者只能自己手动给最后一个要求评分。但是他有希望用perl在这项工作上帮点忙,所以就有了下面的一段代码:my $input = "";do { print "$str1 [$str2]: "; $input = STDIN>;转载 2008-11-22 14:25:00 · 451 阅读 · 0 评论 -
使用perl分析html文件(1) z
文章的背景是,作者在教授网页编辑的课程,他会给学生做一些使用nvu做网页作业,每个作业中有些特定的要求,作者苦于给学生的作业评分和做注释,所以就想到使用perl程序对学生的作品进行分析。perl的正则表达式在文本处理方面的能力已经非常卓越,并且还有分解网页的专用模组HTML::TreeBuilder。它提供了一个html的分解器,这个分解器可以从一个网页构建出一个元素的树形结构。并且,从一个网转载 2008-11-22 14:23:00 · 457 阅读 · 0 评论 -
使用perl分析html文件(2) z
分析多个文件下面讲一个实际的例子:一个学生的网页作业的自动评分程序。这个程序首先由一些html文件来构建一些树形结构,然后把他们存储在一个@trees数组中: my @trees;foreach (@files) { print " building tree for $_ .../n" if $options{v}; my $tree = HTML::TreeBuil转载 2008-11-22 14:24:00 · 534 阅读 · 0 评论 -
Perl 中的正则表达式 z
Perl 中的正则表达式 正则表达式的三种形式 正则表达式中的常用模式 正则表达式的 8 大原则 正则表达式是 Perl 语言的一大特色,也是 Perl 程序中的一点难点,不过如果大家能够很好的掌握他,就可以轻易地用正则表达式来完成字符串处理的任务,当然在 CGI 程序设计中就更能得心应手了。下面我们列出一些正则表达式书写时的一些基本语法规则。9转载 2008-11-19 23:00:00 · 414 阅读 · 0 评论 -
12枚硬币称法 z
题目:有12枚硬币,其中有一枚是假的,但不知道是比真的重还是轻,要求仅用一台天平,称3次找出那枚假币。解法如图所示,其中0表示已经验出的真币<!--google_ad_client = "pub-9539652807000774";/* inner_large */ google_ad_slot = "6055891692";goog转载 2008-11-19 22:22:00 · 828 阅读 · 2 评论 -
几个很值得学习的PERL内置特殊变量 z
让你的perl代码看起来更像perl代码,而不是像C或者BASIC代码,最好的办法就是去了解perl的内置变量。perl可以通过这些内置变量可以控制程序运行时的诸多方面。本文中,我们一起领略一下众多内置变量在文件的输入输出控制上的出色表现。行计数我决定写这篇文章的一个原因就是,当我发现很多人都不知道“$.”内置变量的存在,这的确让我很吃惊。我依然能看到很多人是这样写代码的:代码my转载 2008-11-27 21:51:00 · 442 阅读 · 0 评论 -
perl中bless的理解(zz) z
bless有两个参数:对象的引用、类的名称。类的名称是一个字符串,代表了类的类型信息,这是理解bless的关键。所谓bless就是把 类型信息 赋予 实例变量。程序包括5个文件:person.pm :实现了person类 dog.pm :实现了dog类 bless.pl : 正确的使用blessbless.wrong.pl : 错误的使用blessbless.cc : 使用C++转载 2008-11-27 22:11:00 · 1081 阅读 · 0 评论