Perl
笑面浮屠
不合格的电子工程师
展开
-
Perl的CPAN和CPANPLUS安装模块介绍
说明:蓝色字体是终端上输出的文字;红色字体是我们输入的指令;先把步骤写上,免得看我下面叙述感动啰嗦:一 CPAN$cpancpan>install Tkx???感觉安装很慢,那就配置下capn>o conf urllist push http://mirrors.163.com/cpan/上面的那个镜像是国内的,国内还有其他镜像,参考http://blo原创 2015-08-22 22:29:34 · 3704 阅读 · 0 评论 -
Perl语言入门笔记 第九章 用正则表达式处理文本
=pod#第九章:用正则表达式处理文本用s///进行替换 s///查找替换功能 s/Barney/Fred/; #把Barney替换成Fred s/with (\w+)/against $1's team/; 例子: $_ = "green scaly dinosaur"; s/(\w+) (\w+)/$2, $1/; #替换后为"Scaly, green dinosaur原创 2015-09-21 01:47:32 · 1081 阅读 · 1 评论 -
Perl语言入门笔记 第十二章 文件测试
=pod第十二章 文件测试 文件测试操作符: -e:判断文件是否存在 在创建新文件程序之前,应先检查指定的文件是否已经存在,以免意外覆盖重要的电子表格或是宝贵的生日档案。要达到此目的,我们可以用-e文件测试操作符来测试文件是否存在: die "Oops ! A file called '$filename' already exists.\n";原创 2015-09-21 01:58:24 · 762 阅读 · 1 评论 -
Perl语言入门笔记 第十三章 目录操作
=pod第十三章 目录操作 在目录树中移动: 程序运行时会以自己的工作目录作为相对路径的起点,也就是说,当我们提及fred这个文件时,其实指的是"当前工作目录下的fred" chdir '/etc' or die "Cannot chdir to /etc: $!"; 如果掉用chdir时不加参数,perl会猜想你要回到自己的用户主目录并试着将工作目录设成主目录原创 2015-09-21 02:01:30 · 589 阅读 · 1 评论 -
Perl语言入门笔记 第十五章 智能匹配与given-when结构
=pod第十五章 智能匹配与given-when结构智能匹配操作符:~~ use 5.010001; say "I found Fred in the same" if $name ~~ /Fred/; 找出哈希表中是否包含“Fred” use 5.010001; say "I found a key matching 'Fred'" if %name ~~ /Fred/; us原创 2015-09-21 02:06:16 · 449 阅读 · 1 评论 -
Perl语言入门笔记 第十七章 高级perl技巧(eval, grep, map)
=pod第十七章 高级perl技巧切片: my (undef, $card_num, undef, undef, undef, $count) = split /:/; 定义undef的话,会默认忽略匹配的变量 更好的方法: 列表切片 my $mtime = (stat $some_file)[9]; #取得文件的第10个属性 my $card_num = (split /原创 2015-09-21 02:11:21 · 926 阅读 · 1 评论 -
Perl语言入门笔记 第五章 输入与输出(标准输入输出,文件句柄,printf,die,say)
=pod#第五章 输入与输出 while(defined($line = )) #defined (xxx) xxx为undef则为假,否则为真 { print "I saw $line"; }while() #while是一次读取一行,下次读取会忽略上一行,所以最好写while循环 { print "I saw $_;";}foreach () #一下全部读原创 2015-09-21 01:29:07 · 3978 阅读 · 1 评论 -
Perl语言入门笔记 第六章 哈希(hash)
=pod哈希 哈希表里只是一堆的键值对而已,而没有任何顺序,键可以是任意字符串,值也是 awk的哈希键值对增多的时候会逐渐变慢,而perl没有这个缺点 访问哈希元素: $hash{$some_key} foreach my $person (qw) { print "I'v heared of $person $family_na原创 2015-09-21 01:33:01 · 1428 阅读 · 1 评论 -
Perl语言入门笔记 第八章 用正则表达式进行匹配
#用正则表达式进行匹配=pod m// = // = m%%,m||,m,m{},m(),匹配的时候根据需要写自己的定界符,像qw省略双引号定界符一样模式匹配修饰符: 跟在定界符后面的,//x,x就是模式匹配修饰符 i 忽略大小写 s 匹配任意字符 if(/Barney.*Fred/s){}#s会把//里面的.全部替换为[\d\D],这是需要再让.匹配除\n以外的字符时,需要原创 2015-09-21 01:44:26 · 3927 阅读 · 1 评论 -
Perl语言入门笔记 第十章 其他控制结构(unless,until,elsif,for,last,next,redo,and,or)
=pod第十章 其他控制结构unless控制结构:和if相对 在条件为假时想要运行代码块,就用unless否则就用if: unless(judge){ } 伴随unless的else子句: unless(){ } else { } until控制结构: until($j > $i) { $j *= 2; } until在条件为假时重复执行,直到为真为止,和whil原创 2015-09-21 01:51:21 · 1451 阅读 · 0 评论 -
Perl语言入门笔记 第十一章 perl模块
=pod第十一章 perl模块寻找模块: cpan -a安装模块: perl Makefile.PL make install #如果没有权限安装在系统级目录,那就安装在个人目录 perl Makefile.PL INSTALL_BASE=/Users/fred/lib使用简易模块: my $name = "/usr/local/bin/perl"; 对上面路径得到per原创 2015-09-21 01:54:10 · 825 阅读 · 0 评论 -
Perl语言入门笔记 第十四章 字符串与排序
=pod第十四章 字符串与排序用index查找子字符串: my $where = index($big, $small); eg:my $stuff = "Howdy world"; my $where = index($stuff, "wor"); #$where = 6 index函数还能指定位置开始搜索 my $where2 = index($stuff, "w", $原创 2015-09-21 02:04:10 · 389 阅读 · 0 评论 -
Perl语言入门笔记 第十六章 进程管理
=pod第十六章 进程管理身为程序员最棒的一面,就是能运行别人的程序,不必自己动手去写。在perl里有一句话叫 “办法不止一种”system函数: 在perl中,启动子进程最简单的方法是用system函数,例如从perl调用Unix的date命令,需要告诉system要运行的外部程序的名字: system 'date'; date运行时,创建了一个子进程 sy原创 2015-09-21 02:08:26 · 591 阅读 · 0 评论 -
Perl语言入门笔记 第七章 漫游正则表达式王国
=pod正则表达式(regular expression),在perl里面通常也叫做模式(pattern),是用来表示匹配或不匹配某个字符串的特征模板。 文件名通配与正则表达式是两个概念。grep指令: $grep 'flint.*stone' chapter*.txt #查看chaper*.txt文件中,有哪行出现过flint且后面跟着stone 使用简单模式: $_ = "yab原创 2015-09-21 01:40:59 · 609 阅读 · 0 评论 -
Perl用CPAN安装模块时错误
提示不是root权限:需要执行:o conf make_install_make_command 'sudo make'来自动切换到root,但是还是会需要输入密码!!!输出部分信息如下:make: *** [pure_site_install] Error 13 TIMB/DBI-1.634.tar.gz /usr/bin/make install -- NOT O原创 2015-08-23 01:02:21 · 2192 阅读 · 0 评论 -
从cpan上安装perl模块
CPAN是perl的一个第三方源码模块库,里面有上百万的perl模块,用来支撑perl强大的功能,从生物工程到天文计算,从宏观世界到原子力学,无所不有。为了很方便的安装perl模块,有人做了一个CPAN模块,用cpan命令来管理和安装CPAN网站上的所有perl模块。-------------------CPANcpan命令cpan命令其实也是一个perl脚本,对于不同版本转载 2015-08-22 15:26:35 · 5674 阅读 · 0 评论 -
Perl语言入门笔记 第二章 标量数据
#!/usr/bin/perl -w=pod数字: perl中的数字全部是以双精度浮点数存储的 数字很长时特俗写法,当然普通写法更支持: 61_298_040_283_768 0377 #八进制 0xff #十六进制 0b11111111 #二进制表示 0x1377_0b77 0x50_65_72_7c oct() #八进制字符串转换成数字,也接收二进制参数 hex()#字原创 2015-08-23 15:41:18 · 520 阅读 · 0 评论 -
Perl语言入门笔记 第三章 列表和数组
#!/usr/bin/perl -wuse utf8;use diagnostics;=pod列表: 列表是标量的有序集合数组: 是存储列表的变量更精确的说是列表是数据,数组是变量列表和数组的比较: 都是以下标0开始的,包含的标量可以是任何字符串,数字和undef等不同类型标量值的混合数组的使用: 定义: @array; 赋值: $array[0] = "原创 2015-08-23 18:40:24 · 438 阅读 · 0 评论 -
Perl语言入门笔记 第四章 子程序
=pod定义子程序: sub sub_name { #($var1, $var2) = @_; #$var1 = $_[0]; #$var2 = $_[1]; #定义局部变量: my $myVar = $_[1]; my ($m, $n) = @_; } 调用子程序: &sub_name; $maximum = &max(3, 5, 10, 4, 6);原创 2015-08-24 01:02:08 · 463 阅读 · 0 评论 -
CPANPLUS 的使用
原文:http://www.php-oa.com/2010/02/04/cpanplus-per.html今天从perl hacks上了解到CPANPLUS这个好东西,平时我们用的是CPAN Shell来装模板,其实用CPANPLUS更加好用,为什么啦,因为默认的cpan命令安装时,如果依赖到别的包时,cpan就停止在那不动了,但如果使用CPANPLUS的话,就能自动给依赖的模块也装好.转载 2015-08-22 20:05:50 · 412 阅读 · 0 评论 -
Active Perl的PPM的repository添加
参考:http://blog.sina.com.cn/s/blog_5538ddac0100as5v.html添加repository后感觉下载速度有所加快!!ActivePerl PPM的安装包地址有:针对版本5.8的有http://www.bribes.org/perl/ppm, for the www.bribes.org Perl 5.8 reposit原创 2015-08-22 22:53:34 · 3043 阅读 · 0 评论 -
Perl PPM安装模块
转自:http://blog.sina.com.cn/s/blog_9da70e9c01010h53.html前面我们介绍了如何在Windows下面安装ActivePerl,ActivePerl有一个好处就是使用了图形化的模块管理界面,确实使得安装新的模块异常的简单,这里我就介绍一下如何使用PPM(Perl Package Manager)安装模块。打开PPM,我们看到的界面是这样的:转载 2015-08-22 22:56:55 · 4189 阅读 · 1 评论 -
简简单单讲sort--perl
仙子地址:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=636546简简单单讲sort仙子注:本文档和仙子前面的2篇文档"简简单单讲grep","简简单单讲map",都译自网络,加上仙子自己的解释整理而成。原文档出自:http://web.archive.org/web/20041123005900/http://w转载 2015-08-24 23:37:55 · 337 阅读 · 0 评论 -
Perl寻找去除数组中重复元素
原文地址:http://www.cnblogs.com/xufeiyang/p/3747617.htmlPerl寻找去除数组中重复元素写一个小程序时候,需要去除一个数组中的重复元素,搜索了一下,找到的代码主要是两种,一种是使用grep函数,一种是转换为hash表,代码分别如下:使用grep函数代码片段:代码:my @array = ( 'a'转载 2015-08-24 23:40:05 · 3300 阅读 · 0 评论 -
Perl的中国镜像网站--下载速度更快
Perl在中国的镜像网站,访问速度会比链接到国外的快多了。各镜像请参考163介绍的镜像:http://mirrors.163.com/cpan/SITES.htmlChinahttp://mirrors.163.com/cpan/http://mirrors.sohu.com/CPAN/AnHuiftp://mirrors.ustc.edu.cn原创 2015-08-15 00:28:31 · 14713 阅读 · 1 评论 -
在UltraEdit下配置Perl编译环境-windows环境
刚接触perl,对windows下perl的编译环境不熟悉,安装好了ActivePerl后,原本可以通过记事本写一个程序,在DOS下通过perl filename来运行,但是感觉记事本排版太麻烦,也没有语法高亮功能,在DOS环境下运行感觉熟读还可以,只是每次都要手动切到文件的目录,后来参考梦里花落和a1234567mdy的博客就在UltraEdit下配置好了perl的编译环境,而且又改进了下(下面原创 2015-08-16 02:08:32 · 2498 阅读 · 0 评论 -
畅谈Perl时间处理函数用法
原文网址:http://blog.chinaunix.net/uid-26000296-id-3491263.html本文重点讨论Perl时间处理函数的概念,Perl能在绝大多数操作系统运行,可以方便地向不同操作系统迁移,并且Perl借取了C、sed、awk、shellscripting以及很多其他程序语言的特性。一. Perl时间的表示函数1. 表示日期的方式多种多样:转载 2015-08-17 21:52:16 · 486 阅读 · 0 评论 -
深入浅出之正则表达式(转载)
深入浅出之正则表达式前言: 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用“深入浅出转载 2015-08-18 00:02:31 · 364 阅读 · 0 评论 -
Perl递归遍历指定文件下的文件
#!/usr/bin/perl -wuse strict;#use autodie;#use File::HomeDir; #第三方模块,不管在什么操作系统上都能进入指定用户的主目录my $parentDir = 'F:\web\perl\perl program\littleCamp';my $partInfo = '.+\.pl$'; #正则表达&search_file($pa原创 2015-09-21 02:35:26 · 2259 阅读 · 0 评论