Perl
文章平均质量分 91
zhangxinrun_业余erlang
这个作者很懒,什么都没留下…
展开
-
Linux 上实现双向进程间通信管道
转载:http://www.ibm.com/developerworks/cn/linux/l-pipebid/Linux 提供了 popen 和 pclose 函数 (1),用于创建和关闭管道与另外一个进程进行通信。其接口如下:FILE *popen(const char *command, const char *mode);int pclose(FILE *转载 2013-01-05 13:51:15 · 979 阅读 · 0 评论 -
用expect实现shell脚本的自动交互
<br />用expect实现shell脚本的自动交互<br />对于复杂的交互,甚至结合屏幕输出的不同进行不同的处理,都是非常有效的。<br />而且一般的linux、unix都有。非常易用却又很强大<br />spawn telnet XXX<br />expect “username”<br />send “xxxxx/r”<br />expect “password”<br />send “xxxx/r”<br />expect “last login*”<br />send “xxx”<br />转载 2010-06-23 12:58:00 · 10440 阅读 · 0 评论 -
Perl常用模块使用例子5
<br />(31) Text::CSV_XS, parse(), fields(), error_input()<br />如果field里面也包含分隔符(比如”tom,jack,jeff”,”rose mike”,O’neil,”kurt,korn”),那么我们<br />解析起来确实有点麻烦,<br />Text::CSV_XS挺方便。<br /> <br />#!/usr/bin/perl<br />use strict;<br />use Text::CSV_XS;<br />my @column原创 2010-06-22 18:00:00 · 3258 阅读 · 0 评论 -
Windows Apache环境下运行Perl写的CGI
ActivePerl安装完毕用记事本打开apache的httpd.conf文件1 .搜索 cgi-bin,找到 ScriptAlias /cgi-bin/ 改成 ScriptAlias /cgi-bin/ "D:/Apache2/cgi-bin/",这是存放cgi文件的路径2 . 搜索AddHandler找到AddHandler cgi-script .cgi ,这是定义可执行cgi文件扩展名, 可以把.cgi 改为 .pl 或加上”, .pl” ,成为“AddHandler cgi-script .p转载 2010-06-18 15:51:00 · 2399 阅读 · 0 评论 -
perl文件转化为exe文件的方法
<br /> <br />1. perlapp:简单、速度快,去下载破解的Active State Perl Dev Kit Pro,安装之后,就可以直接perlapp -f abc.pl生成exe文件了,-f是编译独立文件,使之可以在无perl环境下执行。<br />2. perlcc:不用下载其他软件,但是编译速度慢,另外需要其他dll文件。<br />首先运行Microsoft Visual Studio .NET 2003/Common7/Tools/vsvars32.bat设置一下环境变量,然后就转载 2010-06-17 13:23:00 · 9755 阅读 · 0 评论 -
WxWidgets 初探--perl
<br />开发的程序移植性差,不能跨平台,无疑是很郁闷的。 Windows平台下的优秀GUI程序很多,Unix,Linux无疑比较欠缺。而日常以Linux 平台作为工作环境,也比较困难。毕竟还有 office ,lotus,还要打游戏,还要多媒体。windows在多媒体能力方面无疑更为强大,内容也更为丰富。因为有了 WxWidgets,世界变得更精彩。我们可以跨越平台,我们也可以在windows下开发 unix 程序,天地因之更为广阔。<br />一个好的开发环境需要 Compiler+IDE+SDK。我转载 2010-06-17 12:46:00 · 2169 阅读 · 0 评论 -
Perl命令行应用介绍
<br />Perl 有很多命令行参数。通过它可以让你的程序更简练,并且可以写出很多只有一行命令的perl。在这篇文章里我们来了解一些常用的命令行参数。 <br />安全网参数 <br />有三个参数我认为可以起到“安全网”的作用,因为它们可以让你避免犯错,特别是当你在使用 Perl 尝试一些特别聪明(或这愚蠢)的想法时, 错误难免会发生。有经验的 Perl 程序员常常使用这三个参数来提前找到错误所在。 <br />-C 是第一个。这个参数编译 Perl 程序但并不真正运行它。由此检查所有语法错误。每次修转载 2010-06-17 17:54:00 · 693 阅读 · 0 评论 -
Perl中的变量作用范围 local, my, our与全局变量
<br />Perl中的变量作用范围 local, my, our与全局变量<br />很古老很古老以前......嗯,不用老到白垩纪,那时候的Perl是自由射击的。没有什么定义变量的说法,所有的变量都是全局变量,也不需要任何 定义就可以使用。后来就出现了local, 再后来出现了use strict 'vars'和my, 再后来又有了our......所以今天的Perl大陆就有了崇山巨岭,一些变量就被限制在盆地里,老死于桃花源中也。<br />因为要使用一个跨模块全局变量,研究了一下Perl的变量作用范围转载 2010-06-17 15:19:00 · 12427 阅读 · 2 评论 -
perl and LWP 文档
<br />LWP( Library for Web access in Perl) <br />能做到什么? <br />1. 使用URL对远程Web Server读取文件。 <br />2. 对Web Serve利用POST 方式送出form request。 <br />3. 对远程Webserver最近更新的文件作更新动作。 <br />4. 解析HTML 文件,取得其中的「连结」与一些需要的数据。 <br />5. 将HTML转成纯文本文件或Postscript档案。 <br />6. 处理coo原创 2010-06-13 15:00:00 · 8311 阅读 · 0 评论 -
perl的LWP模块介绍
<br />一 LWP::Simple 功能<br />1. 如何在Perl中使用该模块?use LWP::Simple;<br />2. 如何获取一个页面内容?my $content = get(’http://www.yahoo.com.cn’);<br />get函数把从www.yahoo.com.cn上获取得页面内容全部赋给$content这个变量,如果获取失败将返回一个undef的值。<br />3. 如何获取头(Header)?my (b, d, $e) = header(’http://www转载 2010-06-13 13:40:00 · 2624 阅读 · 0 评论 -
用Perl在终端上打印彩色字符
<br />如果在使用Perl的过程中,要在终端上打印出彩色字符,可以使用CPAN中的Term::ANSIColor模块。现在简单地介绍一下这个模块的几种使用方法:<br />1)use Term::ANSIColor;<br />color()是把任意数量的颜色属性串成一个用空格分隔的字符串并存到变量color里,然后可以用普通的print方法输出彩色字符串。<br />例如:<br />print color ‘bold blue’;<br />print “This text is bold blue转载 2010-06-12 11:16:00 · 5719 阅读 · 0 评论 -
使用perl脚本抓取网页总结
<br />使用perl实现网页抓取,对网络蜘蛛的初步尝试。环境<br />windows xp,IIS,perl 5.88,CMD使用到的模块<br />use LWP::Simple; 用来得到网页<br />use HTML::HeadParser; 对部分进行解析,得到标题、编码、关键词等<br />use HTML::FormatText::WithLinks; 将html变成文本可读样式<br />use Encode qw/encode decode/; 解决不同网页的编码问题需求<br />原创 2010-06-22 17:59:00 · 5600 阅读 · 0 评论 -
perl 常用模块使用例子
<br />一些常用模块的简单描述<br />http://www.perldoc.com/perl5.6/pod/perlmodlib.html<br />在perl 中使用模块:<br />模块的下载地址:http://www.cpan.org/modules/01modules.index.html<br />安装模块:<br />1. perl Makefile.PL<br />2. make<br />3. make test<br />4. make install <br />也可以用如下命令原创 2010-06-22 18:01:00 · 2309 阅读 · 0 评论 -
在perl中嵌入shell命令
在linux中,如果要把几个可执行程序结合起来使用,一般是采用shell或者perl,当然,python也可以。这里说一下在perl里嵌入shell命令的情形。一般来说,最简单的方式就是采用“(qx//)就可以执行命令12$cmd = "du * sh"; `$cmd`;这样命令就执行了,但是却并没有输出。要输入的话,简单的可以这么处理:1 print `$cmd`;这里,如果程序有输入,那就不行了,后面再细说。下面看看另外一种方式,即system执行命令,它可以返回程序的退出状态,也就是说转载 2010-06-22 17:56:00 · 3640 阅读 · 0 评论 -
正则表达式30分钟入门教程
转载:http://deerchao.net/tutorials/regex/regex.htm目录跳过目录本文目标如何使用本教程正则表达式到底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配还有些什么东西没提到联系作者网上的资源及本文参考文献更新纪录本文目标转载 2012-11-22 14:04:15 · 940 阅读 · 0 评论 -
Perl 中的 use base 的用法
use base 是面向对象编程时,用来描述“基类”的,其实说白了,use base somemodule;就相当于以下两句的结合:BEGIN{ use somemodule (); push @ISA, qw(somemodule);}也可以同时 use base转载 2011-07-07 14:59:16 · 3261 阅读 · 0 评论 -
perl的中文字符集转换的例子
<br />#!/usr/bin/perl<br />use Encode;<br />$^I = "";<br />#open TEST_A, ">file1.txt";<br />while (<>)<br />{<br /> print $_;<br /> <br /> $AAA = encode("ISO-8859-1", decode("utf8",$_));<br /> print $AAA; <br /> #$AAA = encode("gb2312", decode("utf8",$_));原创 2011-05-10 18:25:00 · 2690 阅读 · 0 评论 -
Perl匹配中文
<br />转载:http://blog.csdn.net/jallin2001/archive/2009/11/13/4808618.aspx<br /> <br />大家经常使用正则表达式的字符集从字符串中抽取或排除中文字符,但是这样做很费事,效果也并不是很理想。实际上Perl从5.6开始已经开始在内部使用 utf8编码来表示字符,也就是说对中文以及其他语言字符的处理应该是完全没有问题的。关键在于目前使用的编辑器以及文件格式并不都能很好地支持 utf8,委屈了Perl的强大能力。实际上我们只需要利用好E转载 2011-05-10 18:24:00 · 2376 阅读 · 0 评论 -
Perl Unicode全攻略
<br />转载:http://www.cnblogs.com/starspace/archive/2008/12/10.html<br />耐心看完本文,相信你今后在unicode处理上不会再有什么问题。<br /><br />本文内容适用于perl 5.8及其以上版本。<br /><br />perl internal form<br /><br />在Perl看来, 字符串只有两种形式。 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫st转载 2011-05-10 18:22:00 · 16974 阅读 · 1 评论 -
Perl的时间处理
1)<br />Date::Calc这里是冠军模块: use strict;use warnings;use Date::Calc qw(Add_Delta_YMD);my $startDate = '2000-01-01';my ($startYear, $startMonth, $startDay) = $startDate =~ m/(/d-(/d)-/d)/;# 1 year, 2 months, 3 days, after startDatemy转载 2010-09-15 21:23:00 · 5811 阅读 · 0 评论 -
为了无耻地增加点击率
<br />如题,所以再次无耻地不署名转帖强文一篇。<br />看过之后神清气爽豁然开朗如沐春风......一个网页抓取程序居然两行代码就搞定,夸张。<br />为了我牛逼的毕业设计终于有着落,向perl开源社区的hacker们致敬顺便插播广告一条:<br />一旦拥有Perl 今生别无所求<br />(小咪表生哥哥气...)<br />正文:<br />perl and LWP 文档 <br />----------------------------------------------------转载 2010-08-25 15:29:00 · 1686 阅读 · 0 评论 -
Perl 黑客编程
<br />九.LWP模块<br />LWP ("Library for WWW in Perl" 的缩写) 是一个由多个模块组成,主要用来获取网络数据的一个模块组。LWP包含有许多模块,通过它我们就可编写perl脚本来访问外部的WEB服务器上的资源了,关于LWP各模块的更多信息可以访问以下地址获得:http://search.cpan.org/~gaas/libwww-perl/这里我们只讲LWP::Simple和LWP::UserAgent这两个模块。 (1)LWP::Simple LWP::Simpl转载 2010-08-25 15:30:00 · 2572 阅读 · 0 评论 -
用功能强大的Perl读写Excel文件
直到最近才开启了通往 Microsoft Excel 这个最流行的桌面电子表格应用程序的大门。本文研究了在 Windows 和 Linux 中如何使用 Perl 和几个简单模块读写 Excel 文件。本文的作者 Teodor Zlatanov 是一名 Perl 专家,自 1992 年起,他一直在该社区中工作,在他涉足的各种领域中,他专长于文本解析中的开放源码工作。<br />解析 Excel 文件提出了一个无论怎样看都很困难的难题。直到去年,UNIX 模块还完全不可用,并且只能用 Win32::OLE 模块转载 2010-06-25 14:37:00 · 1289 阅读 · 0 评论 -
Perl单步调试--在公司代理proxy下,安装WIN32版Padwalker
<br />PadWalker安装起来比较费劲,又因为官方网站上写的是ActivePerl 的PPM 5.10 是对Padwalker支持都是FAILLED<br />所以需要安装一个自己编译的版本,步骤比较多<br /><br />1.首先安装Win32 的 Activeperl, 下载地址是: http://www.activestate.com/Products/activeperl/index.mhtml<br /> 因为有代理,所以设定PPM的代理也不方便,可以通过CPAN 直接安装和设定,配转载 2010-06-24 17:08:00 · 3049 阅读 · 0 评论 -
在Perl中使用Net::SMTP_auth发送邮件
<br />1, 在不需要认证的smtp服务器上发送邮件<br />#!/usr/bin/perl -w<br /> use Net::SMTP;<br /> $smtp = Net::SMTP->new($mail_server); #邮件服务器地址<br /> $smtp->mail($send_user); #发件人<br /> $smtp->to($recv_user); #收件人<br /> $smtp->data转载 2010-06-13 16:38:00 · 437 阅读 · 0 评论 -
perl学习笔记16--Web自动化和连网
<br />Web自动化和连网<br />1. LWP概述<br />Ø HTTP:Request请求对象包含了一些用于描述客户对服务器的请求的信息。它所包含的属性有:method(方法)、URL(统一资源定位)、header(标头)和content(内容)。HTTP:Request有4种请求方法:get、put、post和head。URL时所请求的URL地址。标头是一组健/值对,它提供了关于请求的附加信息。内容包含了作为请求的一部分、由客户发给服务器的数据。<br />Ø转载 2010-06-13 17:19:00 · 1115 阅读 · 0 评论 -
Perl的ftp----put文件
<br />工作需要,经常要更新一些运行包,但是每次手工去ftp,既麻烦,还浪费时间.于是就用Perl写了一个通过配置文件来自动ftp的小工具.采用perl主要是考虑它的跨平台性,当然了用python等也可以.<br />在配置文件里边可以指定主机,用户名,密码,要传输的文件等等.<br /><br /><br />代码如下:<br />#!/usr/bin/perl<br />use Net::FTP;<br />use Class::Struct;<br /><br />struct FtpInfo =转载 2010-07-09 17:20:00 · 2816 阅读 · 0 评论 -
获取ftp文件列表的perl程序
#!/usr/bin/perl -w use Net::FTP; use strict; my $server='IP地址'; my $user = '用户名'; my $pw = '密码'; my $ftp = Net::FTP->new($server) ; $ftp->login($user,$pw) or die "login failed!/n"; print "login ok! starting list files on $server..../n"; &list("/cmcc_cbbs/b转载 2010-07-09 16:41:00 · 2232 阅读 · 0 评论 -
perl利用SMTP发送邮件脚本(带认证)
#!/usr/bin/perl -wuse strict;use Net::SMTP;use Authen::SASL;(在SMTP服务器上要求用户认证,必须的模块)BEGIN {push (@INC,'/usr/lib/perl5/5.8.8/Net/ ');}my $from = 'huashan125@huashan.peonymao.com';my $to = 'peonymao@orrisintl.com';my $username = 'huashan125';my $passwd = 'hua转载 2010-07-09 14:39:00 · 6647 阅读 · 1 评论 -
让Win32程序员更轻松的10个Perl模块
Windows特有Perl 模块的Perl档案库网络(CPAN)内容能够让很多人觉得满意。Windows用户喜欢它,因为它允许用户在Windows开发环境下高效而快速地开展相当复杂的工作。开源程序员喜欢它,因为相对于其他操作系统,Perl具有超强的兼容性。简言之,人人都喜欢。<br />这就是不管你站在那边,都有理由阅读它的原因。在文档中,我编制Perl模块目录,以便于在Win32 Perl编程中快速查阅。(见表A)如果你是个希望操纵Windows世界的Perl程序员,则应该将它们添加到工具箱中。<br /转载 2010-07-06 21:22:00 · 1282 阅读 · 0 评论 -
Perl命令行应用介绍
Perl 有很多命令行参数. 通过它, 我们有机会写出更简单的程序. 在这篇文章里我们来了解一些常用的参数. Safety Net Options在使用 Perl 尝试一些聪明( 或 stupid) 的想法时, 错误难免会发生. 有经验的 Perl 程序员常常使用三个参数来提前找到错误所在, -C 是第一个. 这个参数编译 Perl 程序但不会真正运行它. 由此检查所有语法错误. 每次修改 perl 程序之后我都会立刻使用它来找到任何语法错误. $ perl -c program.pl-W 是第二个转载 2010-07-05 16:23:00 · 672 阅读 · 0 评论 -
漫谈 Perl 的 web 应用开发框架
<br />忍不住在 PerlChina 邮件列表中盘点了一下 Perl 里的 Web 应用框架(巧的是 PerlBuzz 最近也有一篇相关的讨论帖),于是乎,决定在我自己的 blog 上也贴一下 :)<br /><br />原生 CGI/FastCGI 的 web app 对于较小的应用非常合适,但稍复杂一些就有些痛苦,但运行效率是最高的 ;) 如果是自己用 Perl 开发高性能的站,多推荐之。<br /><br />Catalyst, CGI::Application, 和 Jifty 是最流行的三大框转载 2010-07-01 13:58:00 · 2894 阅读 · 0 评论 -
实战 FastCGI
<br />当网站日益走红,联机人数直线上升而心中暗自窃喜之时,突然客服中心涌来大批反应电话:『网站连不上去』、『按下去等好久画面才出来』、『一直出现 Server Too Busy…』...。看来又要把硬件升级了,但是再加更多的内存,更多 CPU、换更贵的机器真的能解决问题吗?有没有比较省钱的方法呢?本文将介绍如何在阿帕契服务器上安装 FastCGI 的模块,如何设定及使用 FastCGI 网站应用程序,让你的网站程序在现有的架构上以全速执行。 <br />------------------------转载 2010-07-01 13:33:00 · 677 阅读 · 0 评论 -
第十二章 Perl5中的引用/指针
<br />一、引用简介<br /> 引用就是指针,可以指向变量、数组、哈希表(也叫关联数组)甚至子程序。Pascal或C程序员应该对引用(即指针)的概念很熟悉,引用就是某值的地址,对其的使用则取决于程序员和语言的规定。在Perl中,可以把引用称为指针,二者是通用的,无差别的。引用在创建复杂数据方面十分有用。<br /> Perl5中的两种引用类型为硬引用和符号引用。符号引用含有变量的名字,它对运行时创建变量名并定位很有用,基本上,符号引用就象文件名或UNIX系统中的软链接。而硬引用则象文件系统转载 2010-06-30 19:35:00 · 914 阅读 · 0 评论 -
perl中bless的理解
<br />bless有两个参数:对象的引用、类的名称。 <br />类的名称是一个字符串,代表了类的类型信息,这是理解bless的关键。 <br />所谓bless就是把 类型信息 赋予 实例变量。 <br />程序包括5个文件:<br />person.pm :实现了person类 <br />dog.pm :实现了dog类 <br />bless.pl : 正确的使用bless<br />bless.wrong.pl : 错误的使用bless<br />bless.cc : 使用C++语言实现了与bl转载 2010-07-01 16:33:00 · 10318 阅读 · 1 评论 -
Perl 面向对象编程的两种实现和比较
<br />本文比较了在 Perl 中两种主流的面向对象编程的实现方式,基于匿名哈希表的实现和基于数组的实现。深刻地剖析了两种实现的技术内幕,并且提供了可供读者直接使用的代码和模块示例。在文章的最后作者比较了两种实现方式的优劣,并对读者给出了在实际工作中选择何种方式实现面向对象编程的建议。 <br />背景 <br /><br />我们常常可以从软件工程的书和文章中,或者项目经理的口中,听到面向对象编程这样的字眼。与大多数时髦的技术用词不同,面向对象编程的确可以为我们的软件设计和开放工作带来本质性的变化。转载 2010-06-30 19:37:00 · 2102 阅读 · 0 评论 -
Perl的FTP-----get文件
<br />在Perl中,使用模块Net::FTP来使用FTP服务,<br />一般的使用步骤如下:<br />1. 使用Net::FTP的new方法来创建一个新的FTP对象。<br />2. 使用login方法登录到FTP服务器。<br />3. 使用cwd方法来切换目录。<br />4. 使用get方法来获取文件。<br />5. 使用put方法来上传文件。<br />6. 使用quit方法退出。<br />下面是linux下perl编写的ftp程序连接非21端口的例子:<br />[root@loca转载 2010-07-09 17:22:00 · 3306 阅读 · 0 评论 -
(包括模块安装)Perl->使用Net::SMTP_auth发邮件
使用Net::SMTP_auth发邮件,首先要先安装Net::SMTP_auth模块。<br />1. Windows Operating System:如果是在windows操作系统使用的ActivePerl的话,则进入ActivePerl的安装目录的可执行程序目录,也就是bin目录。(例如:C:/Perl/bin)执行命令ppm-shell ,(PPM:Perl Package Manager <br />Perl包管理器),然后执行命令:<br />C:/Perl/bin>ppm-shell<br /转载 2010-07-10 12:50:00 · 6750 阅读 · 0 评论 -
内容管理系统
简介<br /> CMS是Content Management System的缩写,意为“内容管理系统”。 <br /> CMS具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本。 <br /> CMS的功能并不只限于文本处理,它也可以处理图片、Flash动画、声像流、图像甚至电子邮件档案。 <br /> CMS其实是一个很广泛的称呼,从一般的博客程序,新闻发布程序,到综合性的网站管理程序都可以被称为内容管理系统。 分类<br /> 根据不同的需求,CMS有几种不同的分类方法。比如转载 2010-07-14 18:31:00 · 823 阅读 · 0 评论 -
如何撰写POD
简介<br />pod(Plain Old Documentation), 是一种简单而易用的标记型语言(置标语言),它经常用于在perl程序和模块中的文档书写。 <br />在pod中,用段类型可分为三种,普通段落,字面段落(Verbatim Paragraph)和命令段落。 <br />三者的区分非常简单,以=pod|head1|cut|over等指示字开始的段落为命令段落,以空格或制表符(/t)等缩进字符开始的段落为字面段落,其余的就是普通段落。 <br />pod中有其独特的格式代码来表现粗体,斜体转载 2010-06-11 17:52:00 · 828 阅读 · 0 评论