文档库 最新最全的文档下载
当前位置:文档库 › Perl 新模块安装

Perl 新模块安装

Perl 新模块安装
Perl 新模块安装

Perl新模块安装

在配置一些服务时,需要安装perl模块。安装perl模块有两种方法:手动安装,自动安装。而通过perl –MCPAN –e 'install xxx'自动安装perl模块,模块一直下不下来,很有可能是perl 源没设置好,这时就需要更新perl源。

实现:

一.perl模块安装

1.perl模块手动安装

上CPAN,如https://www.wendangku.net/doc/0a11326161.html,去搜索下想要装的模块:

下载tar -zxvf XXX解压缩

先看README啊,养成好习惯,perl有很多关联模块,也许要让你先装这个那个那个这个的,不要最后才发现咋没装?2了吧…

看完没问题了就:perl makefile.pl

继续没问题:make

没问题:make install

托运安装比较麻烦。要到相关的网站搜索需要的模块,然后下载源码包来安装(安装过程:perlMakefile.PL;make;make install).不过这种方法比较繁琐,每一个模块都要搜索、下载、解压、编译、安装。通过# perl -MCPAN -e ―install xxx::xxx‖自动安装比较快。

//xxx为要安装的perl模块,当然也可以直接# perl –MCPAN –e 'install xxx'之后会对CPAN 进行一堆设置,如果perl源不行的话,会出现在下载慢或者根本无法下载。这时可以修改perl源。

二.更新perl源,perl源修改有3种方法:

2.重新配置,如要重新配置CPAN,可先进入CPAN

3.改Config.pm,反正设置的也在这里面,懒人就改这个就OK了

代码如下复制代码

# find / -name Comfig.pm //或者whereis Comfig.pm,注意大小写

# vi /usr/lib/perl5/5.8.8/CPAN/Config.pm //贴下配置,按照经验这样配置是米有问题的(有问题也是RP问题了)

# This is CPAN.pm'ssystemwide configuration file. This file provides

# defaults for users, and the values can be changed in a per-user

# configuration file. The user-config file is being looked for as

# ~/.cpan/CPAN/MyConfig.pm.

$CPAN::Config = {

'build_cache' => q[10],

'build_dir' => q[/home/chenbiyan/.cpan/build],

'cache_metadata' => q[1],

'cpan_home' => q[/home/chenbiyan/.cpan],

'dontload_hash' => { },

'ftp' => q[/usr/kerberos/bin/ftp],

'ftp_proxy' => q[], #有用代理的记得设置下

'getcwd' => q[cwd],

'gpg' => q[/usr/bin/gpg],

'gzip' => q[/bin/gzip],

'histfile' => q[/home/chenbiyan/.cpan/histfile],

'histsize' => q[100],

'http_proxy' => q[],

'inactivity_timeout' => q[0],

'index_expire' => q[1],

'inhibit_startup_message' => q[0],

'keep_source_where' => q[/home/chenbiyan/.cpan/sources],

'links' => q[/usr/bin/links],

'make' => q[/usr/bin/make],

'make_arg' => q[],

'make_install_arg' => q[],

'makepl_arg' => q[],

'ncftp' => q[],

'ncftpget' => q[],

'no_proxy' => q[],

'pager' => q[/usr/bin/less],

'prerequisites_policy' => q[ask],

'scan_cache' => q[atstart],

'shell' => q[/bin/bash],

'tar' => q[/bin/tar],

'term_is_latin' => q[1],

'unzip' => q[/usr/bin/unzip],

'urllist' => [q[ftp://https://www.wendangku.net/doc/0a11326161.html,/CPAN/]], #这块是重点,下不下来通常都是urlist没选好'wget' => q[/usr/bin/wget],

};

1;

__END__

附录:

还有个就是报urlist没有选好,让retry retry,这时你就需要先把关联的模块安装好,再来安装它,否则你retry无数次都安装不了。

在centOS6.5安装perl 5.16.3及其相应模块

在centOS6.5 上安装perl-5.16.3 鉴于本项目前端capture所依赖的perl模块等原因,试过perl-5.10.1和perl-5.20.1之后均未成功,而且在https://www.wendangku.net/doc/0a11326161.html,/查阅得知,以上版本对于模块NetPacket::SpanningTree的兼容性未知甚至不兼容(在perl-5.20.1上安装未成功),因此最终选择安装perl-5.16.3版本。 其步骤如下(参考来源: http://jianywww.virtualitworld.co.in/install-perl-5-18-0-in-centos-6-4/):Step 1: 进入root用户,在终端输入su,然后输入root密码。如果是第一次进入root用户,必须先设置root密码,linux系统版本之间各不一样,怕误导大家,请自行度娘。 Step 2: 首先下载perl-5.16.3的包,可以用wget 下载网址(我用的是https://www.wendangku.net/doc/0a11326161.html,/src/5.0/perl-5.16.3.tar.gz)

Step 3: 然后对其进行解压,解压命令: tar –xzvf perl-5.16.3.tar.gz(再输入perl的时候直接使用Tab键自动帮你补齐文件名) 解压完毕之后进入解压之后的文件夹,利用cd命令 Step 4: 进入解压之后的perl-5.16.3文件夹之后,执行configure命令,输入命令:./Configure –des (后面接你要安装的文件路径,/usr/local/perl 这是我用的)

Step 5: 配置完成之后,在终端输入make命令 Step 6: 在终端输入make test命令 Step 7: 如果所有的test都是成功,就输入make install安装了

数学建模常用软件

数学建模常用软件有哪些哈 MatlabMathematicalingoSAS详细介绍:数学建模软件介绍一般来说学习数学建模,常用的软件有四种,分别是:matlab、lingo、Mathematica和SAS下面简单介绍一下这四种。 1.MA TLAB的概况MA TLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多. 当前流行的MA TLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类. 开放性使MATLAB广受用户欢迎.除内部函数外,所有MA TLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包. 2.Mathematica的概况Wolfram Research 是高科技计算机运算( Technical computing )的先趋,由复杂理论的发明者Stephen Wolfram 成立于1987年,在1988年推出高科技计算机运算软件Mathematica,是一个足以媲美诺贝尔奖的天才产品。Mathematica 是一套整合数字以及符号运算的数学工具软件,提供了全球超过百万的研究人员,工程师,物理学家,分析师以及其它技术专业人员容易使用的顶级科学运算环境。目前已在学术界、电机、机械、化学、土木、信息工程、财务金融、医学、物理、统计、教育出版、OEM 等领域广泛使用。Mathematica 的特色·具有高阶的演算方法和丰富的数学函数库和庞大的数学知识库,让Mathematica 5 在线性代数方面的数值运算,例如特征向量、反矩阵等,皆比Matlab R13做得更快更好,提供业界最精确的数值运算结果。·Mathematica不但可以做数值计算,还提供最优秀的可设计的符号运算。·丰富的数学函数库,可以快速的解答微积分、线性代数、微分方程、复变函数、数值分析、机率统计等等问题。·Mathematica可以绘制各专业领域专业函数图形,提供丰富的图形表示方法,结果呈现可视化。·Mathematica可编排专业的科学论文期刊,让运算与排版在同一环境下完成,提供高品质可编辑的排版公式与表格,屏幕与打印的自动最佳化排版,组织由初始概念到最后报告的计划,并且对txt、html、pdf 等格式的输出提供了最好的兼容性。·可与C、C++ 、Fortran、Perl、Visual Basic、以及Java 结合,提供强大高级语言接口功能,使得程序开发更方便。·Mathematica本身就是一个方便学习的程序语言。Mathematica提供互动且丰富的帮助功能,让使用者现学现卖。强大的功能,简单的操作,非常容易学习特点,可以最有效的缩短研发时间。 3.lingo的概况LINGO则用于求解非线性规划(NLP—NON—LINEAR PROGRAMMING)和二次规则(QP—QUARATIC PROGRAMING)其中LINGO 6.0学生版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能力亦再10^4量级以上。虽然LINDO和LINGO不能直接求解目标规划问题,但用序贯式算法可分解成一个个LINDO和LINGO能解决的规划问题。模型建立语言和求解引擎的整合LINGO是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具。LINGO提供强大的语言和快速的求解引擎来阐述和求解最佳化模型。■简单的模型表示LINGO可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改。■方便的数据输入和输出选择LINGO建立的模型可以直接从数据库或工作表获取资料。同样地,LINGO可以将求解结果直接输出到数据库或工作表。■强大的求解引擎LINGO内建的求解引擎有线性、非线性(convex and nonconvex)、二次、二次

Catalyst入门教程

Catalyst入门教程(第1版) 前言 本教程是在CPAN上Catalyst的文档基础上编写的. 阅读本教程前你需要具备的知识: 1. 使用过perl编写cgi程序 2. 使用过perl的DBI编写perl程序进行数据库操作 编写者: 小生菜菜 联系邮箱: laomoi@https://www.wendangku.net/doc/0a11326161.html, 第 1 页

Catalyst入门教程(第1版) 目录 第 1 章CATALYST的简介 (3) 第1节搭建C A TAL YST开发环境 (3) 第2节创建第一个C A TAL YST项目 (4) 第 2 章剖析应用程序类 (8) 第 3 章掌握CONTROLLER (10) 第1节C ONTROLLER简介 (10) 第2节ACTION详解 (14) 第3节如何编写ACTION (23) 第 4 章掌握VIEW (29) 第1节简介 (29) 第2节TT入门 (32) 第3节把TT作为V IEW使用 (40) 第 5 章掌握MODEL (43) 第1节简介 (43) 第2节DBI X::C LASS::S CHEMA入门 (44) 第3节.把DBIC::S CHEMA作为M ODEL使用 (58) 第 6 章调试CATALYST程序 (62) 第 2 页

Catalyst入门教程(第1版) 第 1 章Catalyst的简介 使用perl进行web开发,传统的做法是写*.cgi文件,然后把这些cgi文件配到web server里面,当web server收到客户端的request时,就调用对应的cgi进行处理. 用这种方法进行web开发, cgi文件之间相对比较独立,代码里面可能含有大量的重复代码,整个系统的结构也是比较松散的, 可扩展性也不强. Catalyst是一套用来web开发的框架,基于Catalyst开发的web系统,具有比较强的可扩展性. 第1节搭建Catalyst开发环境 1 一般方法: 在linux系统上安装Catalyst只需要使用CPAN安装即可(推荐) cpan -i Catalyst cpan -i Catalyst::Devel(用来运行Catalyst项目的机器不需要安装该模块,如果需要使用Catalyst进行开发则需要安装该模块) 在windows上安装可以使用ppm,但是过程比较繁琐,不建议. 2 安装脚本 Matt Trout写了一个安装脚本: https://www.wendangku.net/doc/0a11326161.html,/static/cat-install 只需要从该链接下载脚本,然后 perl cat-install即可按顺序安装相关模块,可用于windows跟linux,如果用于windows的话,必须保证你的机器上有c编译器和make工具. 3 模块打包方法(推荐) Chris Laco把Catalyst相关的模块打成了一个包:https://www.wendangku.net/doc/0a11326161.html,/downloads/CatInABox.tar.gz 把该包下载下来不需要安装即可马上使用.可用于windows跟linux系统. 第 3 页

Perl命令行参数

Perl命令行参数 执行控制 -e 指定字符串以作为脚本(多个字符串迭加)执行 -M 导入模块 -I 指定目录以搜索标准位置前的模块 整洁性 -w 打开警告 -Mstrict 打开严格编译指示(pragma) 数据 -0 (这是个零)指定输入记录分隔符 -a 将数据分割成名为@F 的数组 -F 指定分割时-a 使用的模式(请参阅perldoc -f split) -i 在适当的位置编辑文件(请参阅perldoc perlrun 以获取大量详细信息) -c 进行perl的语法检查,但不执行perl命令 -F 把缺省的分离号改为你想要的。例如把分离号定为非字符 -l 使用-l有两个效果,第一自动chomp输入分隔号,第二把$/值付给$\(这样print的时候就会自动在末尾加\n) -n 使用<>将所有@ARGV参数当作文件来逐行运行,会将读入的内容隐式的逐一按行来遍历文件,每一行将缺省保存在$_ -p 和-n一样,但是还会打印$_的内容 请注意-p 开关和-n 开关的使用 当您想显式打印数据时,使用-n开关。-p开关隐式地将print $_语句插入到-n开关所产生的循环中。因此,-p开关更适用于对文件进行的完全处理,而-n开关更适用于选择性文件处理,这样的处理只需打印特定数据。 以下是一些常用的简单实例 #perl -pi –e?s/aaa/bbb/? filename 修改当前file文件中的文件,不生成中间文件,速度很快。记住-i开关,因为它让你原地编辑文件。 #perl -ne …print if /^aaaaa/? filename 象grep一样过滤文件中需要的内容。这个地方使用了-n,所以一次是做一行的操作,直到整个文件读完。另外在管道时,-n也会一样来遍历管道送过来的内容。 # perl -n -e 'print "$. – $_"' filename 这个例子中的,没用-ne,只是命令写成了-n –e,其实一样,这个例子中是给当前文件中的内容都加一个行号打印出来。 注:$.表示当前行号

Perl语言编程

作者简介 Larry Wall是Perl的创造者,也是其他一些流行的Unix自由软件的作者,包括rn新闻阅读器和无处不在的patch程序。从学历来看,Larry实际上是一位语言学家,是加州大学伯克利分校和洛杉矶分校的毕业生。 编辑推荐 本书有哪些新的内容呢?老实说几乎所有都是新的。本书第三版涵盖了新的Perl 5.6版本,不仅完全重新组织了一遍,而且还用无数个例子强化了这些内容。大多数现有的主题都是从头重写的,如面向对象编程和正则表达式,并添加了许多全新的章节。

本书简介 本书不仅仅是一本关于Perl的书籍,更是一本独一无二的开发者自己介绍该语言及其文化的书籍。Larry Wall是Perl的开发者,并就的未来发展方向提出了自己的看法。Tom Christiansen是最早的几个拥护者之一,也是少数几个在错综复杂的中游刃有余的人之一。Jon Orwant是《Perl Journal》的主编,该杂志把Perl社区组合成了一个共同的论坛,以进行Perl新的开发。 目录 前言 第一部分 概述 第一章Perl概述 第二部分 细节 第二章集腋成裘 第三章一元和二元操作符 第四章语句和声明 第五章模式匹配 第六章子例程 第七章格式 第八章引用 第九章数据结构 第十章包 第十一章模块 第十二章对象 第十三章重载 第十四章绑定变量 第三部分 作为技术的Perl 第十五章Unicode 第十六章进程间通信 第十七章线程 第十八章编译 第十九章命令行接口 第二十章Perl调试器 第二十一章内部和外部 第四部分 作为文化的Perl 第二十二章 CPAN 第二十三章 安全 第二十四章 通用实践 第二十五章 可移植的Perl 第二十六章 pod 第二十七章 Perl文化 第五部分 参考资料 第二十八章 特殊名字 第二十九章 函数 第三十章标准Perl库 第三十一章 pragma

在linux下安装perl模块

在linux下安装perl模块 Linux和perl都属于自由软件,将二者结合真是妙不可言。遵循以下步骤一般就可安装好perl,perl 就能在linux下欢唱。1、取得最新版本的perl,当前版本为5.6.0,即stable.tar.gz。 2、解文件包: gunzip stable.tar.gz tar xvf stable.tar 得到目录perl-5.6.0 3、在目录perl-5.6.0 下安装perl: rm -f config.sh Policy.sh sh Configure -de make make test make install config.sh Policy.sh 为以前安装时的配置文件,新安装或升级安装时需要将其删除。 sh Configure -de 安装使用默认配置,一般而言将会ok 。 安装完成后perl 所在目录为/usr/local/lib/perl5, perl 执行文件在 /usr/local/bin 中。 4、关于 .html 文件 安装perl 时不能自动安装 .html 文件,在perl-5.6.0 目录中有一个installhtml 文件,执行perl installhtml --help可得到使用帮助,使用installhtml可将 .pod 及 .pm 文件编译得到相应的 .html 文件文件,它的具体使用请自己看。 下面是我所写的一个具有类似功能的程序。 simple_find("5.6.0");# 含 .pm 文件的源目录

use Pod::Html; sub simple_find{ $sourth="/usr/local/lib/perl5/5.6.0html/"; #含 .html的目标目录my ($input)=@_; my $file; $ddir=$sourth.$input; $cont=`file $ddir`; if ($cont !~/$ddir:sdirectory/){ `mkdir $ddir`; }opendir(md,$input); my @file=readdir(md); closedir(md); @pfile= grep(m/.pm/,@file); my @dfile= grep(!m/.pm/,@file); @dfile=grep(!m/^./,@dfile); foreach $pfile(@pfile){ $pfile=~/.pm/; $dfile=$`; $sfile=$input."/".$pfile; $dfile=$sourth.$input."/".$dfile.".html"; pod2html( "--infile=$sfile", "--outfile=$dfile"); }

Linux下安装Perl模块的方法

Linux下安装Perl模块的方法 2015年04月06日? Perl基础? 共1116字? 字号小中大? 评论1 条? 阅读1,171 次 方法一、手工安装的步骤 从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz,假设放在/usr/local/src/下。 cd /usr/local/src 解压缩这个文件: tar xvzf DBI-1.13.tar.gz 这时会新建一个DBI-1.13的目录。 cd DBI-1.13 生成makefile: perl Makefile.PL 建立模块 make 测试模块 make test 如果测试结果报告“all test ok”,您就可以放心地安装编译好的模块了。安装模块前,先要确保您对perl5安装目录有可写权限(通常以su命令获得),执行: make install

现在,写个程序试试吧。 #!/usr/bin/perl-w use strict; use DBI; 上述步骤适合于Linux/Unix下绝大多数的Perl模块。可能还有少数模块的安装方法略有差别,所以最好先看看安装目录里的README或INSTALL。另外,上述过程是针对动态链接的Perl编译器(所有Linux下预安装的Perl都是动态链接的),如果您在使用一个静态链接的Perl,您需要将新的模块静态链接到perl编译器中,可能还需要重启机器。 方法二、使用CPAN模块自动安装: 安装前需要先联上网,并且您需要取得root权限。 perl -MCPAN -e shell 初次运行CPAN时需要做一些设置,如果您的机器是直接与internet相联(拨号上网、专线,etc.),那么一路回车就行了,只需要在最后选一个离您最近的CPAN镜像站点。例如我选的是位于国内的中国自由软件库ftp://https://www.wendangku.net/doc/0a11326161.html,/pub/languages/perl/CPAN。否则,如果您的机器位于防火墙之后,还需要设置ftp代理或http代理。 获得帮助 cpan>h 列出CPAN上所有模块的列表 cpan>m 根据关键字在CPAN上查找某个模块: cpan[1]> i /scws/

perl培训资料

perl内部并不存在整数,在perl内部总是按照双精度浮点数的要求来保存数字并进行运算的。 如果要使perl支持unicode字符,需要添加 use utf8; \l 将下一个字母转换为小写 \L 将它后面的所有字母都换为小写,直到\E为止 \u 将下一个字母转换为大写 \U 将它后面的所有字母都换为大写,直到\E为止 \Q 相当于把它到\E之间的非单词字符加上反斜杠 \E 结束\L、\U、\Q开始的作用范围 per的告警信息: use warnings; 或者使用 perl -w运行脚本 或者加上 #!/usr/bin/perl -w 如果看不懂告警,就是用 use diagnostics; 打印更详细的信息 $#aaa表示aaa数组的最后一个元素的索引值 关于perl中布尔值的判断 1、如果是数字,0为假;所有其他的为真 2、如果是字符串,空字符串为假,所有其他的字符串为真 3、如果既不是数字也不是字符串,那就先换成数字或者字符串再进行判断。使用defined函数来判断变量是否定义

数组定义: my @p1=('aaa','bbb','ccc'); my @p2=(1..100); my @p3=qw(aaa bbb ccc); my @p4=qw! aaa bbb ccc !; $end=$#p1; $number=$#p1+1; $last=$p1[$#p1]; $last=$p1[-1]; pop取出数组中的最后的一个元素并将其作为返回值返回。$last=pop(@p1); push添加元素到数组的最后 push(@p1,'jaj'); push @p1,'aaaa'; push @p1,@p2; shift取出数字第一个元素并将其作为返回值返回 $first=shift(@p1); unshift添加元素到数组的最左边 unshift(@p1,'jaj'); unshift @p1,@p2; splice可以实现从中间操作数组; foreach 来循环遍历数组中的值 reverse反转数组 sort 对数组进行排序 sort(@p1) 正向排序 reverse sort(@p1) 逆向排序 chomp(@p1); chomp(@line =);

perl函数集

perl函数集 一、进程处理函数 1、进程启动函数 2、进程终止函数 3、进程控制函数 4、其它控制函数 二、数学函数 三、字符串处理函数 四、标量转换函数 五、数组和列表函数 六、关联数组函数 一、进程处理函数 1、进程启动函数 函数名eval 调用语法eval(string) 解说将string看作Perl语句执行。 正确执行后,系统变量$@为空串,如果有错误,$@中为错误信息。 例子$print = "print (\"hello,world\\n\");"; eval ($print); 结果输出hello, world 函数名system 调用语法system(list) 解说list中第一个元素为程序名,其余为参数。 system启动一个进程运行程序并等待其结束,程序结束后错误代码左移八位成为返回值。例子@proglist = ("echo", "hello,world!"); system(@proglist); 结果输出hello, world! 函数名fork 调用语法procid = fork(); 解说创建程序的两个拷贝--父进程和子进程--同时运行。子进程返回零,父进程返回非零值,此值为子程序的进程ID号。 例子$retval = fork(); if ($retval == 0) { # this is the child process exit; # this terminates the child process } else { # this is the parent process } 结果输出无 函数名pipe 调用语法pipe (infile, outfile);

使用PERL读写EXCEL

用Perl读写Excel文件 最近写一个小脚本,读取Excel文件中的内容,经过处理后,生成新格式的Excel文件,将一些用法着一个小小的总结。 读取Excel文件中的内容,模块Spreadsheet::ParseExcel的一些常见用法 得到一个workbook对象: my$excel=new Spreadsheet::ParseExcel; my$fmt=Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map=>"cp936"); my$workbook=$excel->Parse($file,$fmt); 得到excel文件中的表格数目: $sheet_nums=$workbook->worksheet_count(); 得到一个表格对象(这里的$sheet_num是表格的索引,从0开始计数): $sheet=$workbook->worksheet($sheet_num); 获取表名: my$sheetname=$sheet->get_name(); 转换编码 $sheetname=decode('utf-8',$sheetname); 得到最大、最小行序(不是很准) my($row_min,$row_max)=$sheet->row_range(); 取单元格的值,在取之前最好能判断一下: if($sheet->get_cell($row_num,$col_num)){ my$code=$sheet->{Cells}[$row_num][$col_num]->Value(); } 生成Excel文件,模块Spreadsheet::WriteExcel的一些常见用法 定义一个workbook对象 my$workbook=Spreadsheet::WriteExcel->new($filename); 定制一种格式 my$fmt4=$workbook->add_format( border=>1, bold=>1, color=>'black', size=>11,); border样式为1,具体的样式可以从方档中查询 bold加粗 color字体颜色 size字体的大小 也可以这样设置格式:

Perl代码使用规范

Perl代码规范初稿 February24,2010

1命名 ?不要使用过于简短的变量简写(除非是标准的简写形式),更不要使用如$x、$y等意义不太明确的名称。也不要使用太长的名称。 ?用my申明的变量(词法变量)使用小写字母。单词之间用下划线隔开。 ?用our申明的变量(全局变量)以及常量(use constant)使用全大写形式。单词之间用下划线隔开。 ?数组的引用名前缀a_,hash的引用名前缀h_。 ?文件句柄使用全大写形式,保存文件句柄的变量名及引用名使用前缀fh_。?函数名第一个单词使用小写后面的单词使用首字母大写的形式,单词之间不使用下划线。 ?模块名(包括类名)每个单词首字母大写,单词之间不使用下划线。 ?公有方法名命名规则同函数,私有方法名前缀一个_。 ?accessor方法第一个单词分别使用get、set和is,如getColor(), setColor(),isRed()。 1.1布局 ?使用单个的tab作为缩进,但在脚本的最后添加 #vim:sw=4ts=4ft=perl 这一行,让tab显示为四个字符宽度。 ?使用last的行不使用tab作缩进,使用两个空格。 ?{与关键字同行,并在其前面加一个空格。}单独一行,并与相对应的关键字位于同一列。 ?只有一条语句的块(blocks)连同语句块的开始结束花括号写在同一行,并且这条语句不用分号结束。 ?分号之前不要加空格。 ?复杂的下标使用适当的空格。

?用空行隔开处理相关性不大的事务的语句块(chunks)。 ?内建函数的调用不使用括号,自定义函数和以模块名为前缀的函数以及方法的调用都要加括号,函数和方法名与括号之间不使用空格。如果使用多个内建函数级联调用,则在适当的函数前后加上空格。 ?函数定义在主程序之后,为了避免使用&来调用自定义函数,可以使用前向申明。 ?逗号之后都要打空格。 ?一行不要太长,控制在70个字符左右。 ?比较长的行在操作符之后断行(但在and和or之前断行)。 ?垂直对齐相关的条目,据情况左对齐,或以操作符为基准对齐。 ?在不影响可读性的情况下尽量去掉不必要的标点。 ?在操作符两边都加上空格。 ?在while、for、if等关键字后都加上空格。 ?使用比较复杂的条件判断的时候,在条件单元之间使用适当的括号。 ?条件太长时,在逻辑运算符之后换行,换行后加足够的空格让条件按列对齐。 这时,{放在与条件的最后一行相同的行,之间用空格隔开。比如 if($?ag==3){ #do some thing. } while(($name==’Larry’)&& ($word==$passwd)){ #do some thing. } ?为长参数列表加如下形式的注释:

Perl学习总结 - 副本

Perl学习问答 1、怎样执行Perl程序? Perl程序文件可以有后缀,也可以没有后缀,Perl编译器不对此要求,习惯上如果想要加上后缀的话,常用后缀.pl或.plx。在windows的DOS环境或者Unix系统下,首先确认安装了Perl编译器,采用perl -v来看看是否能够正确显示perl版本号。如果安装了perl。在windows的DOS环境下,只需使用perl your_program即可。在Unix环境下,还可以先将该文件置成可执行文件,chmod a+x your_program或者chmod 755 your_program,然后输入./ your_program即可。另外perl支持命令行直接编辑。 2、在编程或者编译时如何查询文档获得帮助? window环境下使用perldoc,Unix环境下使用perldoc或者使用man命令。有时Windows 环境下也可以HTML格式显示Perl的文档资料,其默认目录是C:\perl\html,用户需要先找到html文件夹,可以通过打开链接搜索或者找到相关主题再打开。 perlre介绍的是常用表达式,perlfunc介绍函数,perlquick, perlretut是perl regular expression tutorial。 3、perl程序结构 第一行perl编译器的路径,比如,#! C:\Perl64\bin\perl或#!usr/bin/perl 或usr/local/bin/perl。有时,Windows并不需要明确执行路径,不过仍然推荐这样的编程习惯,以便于程序的良好移植。 接下来输入perl语句,每条语句以分号;结束即可。 4、perl中操作的基本元素量有哪些? 数字和字符串称作标量,标量可以存储在标量变量里;标量的有序集合称作列表,列表可以存储在数组里,数组无上限可随机存取;哈希是一种类似于数组的数据结构,只不过访问存储值时,不是通过数字,而是通过保证唯一的字符串。 标量变量用$,数组用@,哈希用%前置表示。数组最后一个元素的索引值是$#array_name ,清空数组可以对其赋值@ array_name =();perl通过环境%ENV哈希对周围环境感知并进一步影响。 5、正则表达式简介 正则表达式在perl常称作模式,本质上是一个用来匹配字符串的模板。查看一个字符串,根据模板决定是否匹配,这就是正则表达生活的全部。所有在双引号字符串中使用的技巧都可以在正则表达式中使用。 正则表达式的模式往往写在m//中,其中//可换成任何成对的定界符,常常用简写模式//来表示m//。默认情况下模式匹配的对象是$_,采用绑定字符操作符=~能让perl那右边的模式来匹配左边的字符串,且该操作符优先级相当高。与正则表达式相匹配的字符串段落会自动被perl存进变量$&中,从字符串起始到匹配位置前的字符串存放在变量$`里,匹配位置后到结尾的字符串存放在$'中,这三个字符串连接起来就会得到原本整个字符串。 一些特殊字符,在正则表达式中表达特殊含义,称为元字符。 反斜线\,转义符号。 通配符.号用来匹配非换行符以外的单个字符。 贪婪量词*号用来匹配前面的内容出现零次或多次;贪婪量词+号用来匹配前面的内容出现一次或多次;贪婪量词?号用来匹配前面的内容可有可无,即出现一次或者不出现都行。

perl中map,sort,grep用法总结

简简单单讲map (一)map函数 map BLOCK LIST map EXPR, LIST map函数对LIST里的每个元素按BLOCK或EXPR进行计算,遍历LIST时,临时将LIST 里的每个元素赋值给$_变量。map对每次的计算返回一个结果列表,它在列表上下文里计算BLOCK或EXPR。每个LIST元素可能在输出列表里产生0个,1个,或多个元素。 (仙子注:上文是说遍历每个LIST元素时产生一个结果列表,而不是说总的map结果是个列表,不要搞混了哦。) 在标量上下文里,map返回结果列表的元素数量。在HASH上下文里,输出列表(a,b,c,d...)会变成这样的形式:( a =>; b, c =>; d, ... )。假如输出列表的元素数量非对称,那么最后的hash元素的值就是undef了。 避免在BLOCK或EXPR里修改$_,因为这会修改LIST里的元素。另外,避免使用map返回的的列表作为左值,因为这也会修改LIST里的元素。(所谓左值,就是在某个表达式左边的变量。) (二)Map vs. grep vs. foreach map跟grep一样,从数组里选择元素。下列2句是一样的: @selected = grep EXPR, @input; @selected = map { if (EXPR) { $_ } } @input; 另外,map也是foreach陈述的特殊形式。假如@transformed数组当前未定义或为空,那么下列2句亦相等: foreach (@input) { push @transformed, EXPR; } @transformed = map EXPR, @input; 通常,用grep来从数组里选择元素,用map来从数组里转换元素。当然,数组处理也能使用标准的循环语句来完成(foreach, for, while, until, do while, do until, redo)。 (三)map用法示例 1. 转换文件名为文件大小 @sizes = map { -s $_ } @file_names; -s是个文件测试操作符,它返回某个文件的size。所以上面这句就返回@file_names数组里每个文件的大小,结果也是个数组。 2. 转换数组到hash:找到某个数组值的索引 代替重复的搜索数组,我们可以用map来转换数组到hash,并通过hash关键字来进行直接查找。如下的map用法相对于重复的数组搜索,更简单高效。 @teams = qw(Miami Oregon Florida Tennessee T exas Oklahoma Nebraska LSU Colorado Maryland); %rank = map { $teams[$_], $_ + 1 } 0 .. $#teams; print "Colorado: $rank{Colorado}/n"; print "Texas: $rank{Texas} (hook 'em, Horns!)/n"; 打印结果是: Colorado: 9 Texas: 5 (hook 'em, Horns!) 上述code容易理解哦,0 ..$#teams 是个列表,$#teams代表@teams最后一个元素的下标值(这里是9),所以这个列表就是0-9这几个数了。map遍历上述列表,将每个列表元素临

PERL特点

Perl是Practical Extraction and Report Language(实用摘录和报告语言)的简称,是由Larry Wall所发起的Perl的设计目标是帮助UNIX用户完成一些常见的任务,这些任务对于Shell来说过于沉重或对移植性要求过于严格。现在,Perl已经可以方便地在OS/2,Windows 9x,Windows/NT等系统下运行。 Perl语言是在吸收了众多语言的长处基础之上发展起来的一门语言。因而,它既有一般程序设计语言的共同特征,也有其独特之处。其中,最重要的特性是它内部集成了正则表达式的功能,以及强大的第三方代码库CPAN(Perl综合典藏网,Comprehensive Perl Archive Network的缩写)。 Perl语言的特点包括:它是一种解释性语言;它具有高可用性、模块化和可重用性、可面向对象程序设计、可嵌入和可扩展性、遵循POSIX标准、支持多数据库的同时实现、高安全性、适合多种操作系统平台等;而且它是一款免费的自由软件。1 1.解释性语言 Perl是一种解释性语言,不需要编译器和链接器进行预先编译,直接由Perl解释器对源代码程序解释执行。程序员要做的只是写出程序并告诉Perl来运行而已。2这意味着对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案,Perl均可以十分理想的处理。Perl提供了脚本语言(如sed和awk)的所有功能,还具有它们所不具备的很多功能。Perl还支持sed到Perl及awk到Perl的翻译器。 2.高可用性 正如自然语言的思想可以用多种方式表达一样,Perl代码可以使用多种方式来编写。对整个程序或系统而言,Perl既可以用模块化的方法也可用面向对象的思想来编程。从一开始,Perl就设计成可以把简单工作简单化,同时又不失去处理困难问题能力的语言。它可以很容易操作数字、文本、文件和目录、计算机和网络,特别是程序的语言。Perl能很容易运行外部的程序并且扫描这些程序的输出获取信息,并且还能把程序员专注的东西交给其它程序做特殊的处理。 3.模块化和可重用性 相对于其它程序设计语言而言,Perl的函数库被称作“模块”。“模块”可以被Perl程序所共享,因而Perl程序可以随意使用在“模块”中定义的函数接口。模块化是语言的重要特征之一,这一特征使得语言能够具有异常强大的功能。Perl由于引入了模块的设计思想,随着版本的改进,功能越来越强。现在Perl的功能已经超乎原先设计时的想象,几乎任何事都可以做到。最为著名的一点就是Perl对字符串的处理,由于Internet对文字信息处理的巨大需求,使得Perl的应用如日中天,而且Perl语言也的确是一个非常优秀的文字信息处理语言。 4.面向对象程序设计 Perl语言除了像传统的C语言那样可以采用结构化的程序设计思想外,还可以像C++语言那样采用面向对象的方法来设计。通过模块输入机制,外部的扩展模块可以作为内置于Perl 的特性。所以,面向对象的外部库在Perl内部仍然保持面向对象的特征。另外,Perl支持动态的多重继承和虚函数的方法。 5.可嵌入和可扩展 Perl是设计成可以用模块扩展的语言。Perl代码可以很容易地被嵌入到C/C++语言的应用程序中;同时,C/C++例程也可以很容易地被嵌入到Perl的应用程序中。程序员可以用Perl 快速设计,编写,调试和部署Perl应用,并且还可以在需要的时候很方便地扩展这些应用。 6.遵循POSIX标准

perl的一些基本用法

perl基本用法2010-02-10 09:50s/\s+/ /g 将空白符变成一个空格;s/^\s+// 去掉首空白;s/\s+$// 去掉尾空白;s/^\s+|\s+$// 去掉首尾空白;大小写转化的例子:s/(fred|barney)/\U$1/gi 匹配所有的忽略大小写,替换成大写;s/(fred|barney)/\L$1/gi 匹配所有的忽略大小写,替换成小写;s/(\w+) (\w+)/\U$2\E$1/i $2变成大写 $1还是保持小写,\E结束转换;CPAN 是 Comprehensive Perl Archive Network 的缩写,中译为 Perl 综合典藏网。它包含了极多用 Perl 写成的软件和模块。CPAN相关软件的安装方法最近几天安装SPAMASSASSIN,牵涉到许多CPAN的安装,以前都是缺少什么,就去CPAN网站寻找相应的模块,自己编译安装,后来发现其实CPAN自己的shell命令就可以很方便的安装相应模块,真是方便当然前提你必须安装perl-CPAN,在我的redhat9.0上的版本是perl-CPAN-1.61-88,大家没装的话,直接用光盘的rpm包安装即可。安装后运行[root@www CPAN]# perl -MCPAN -e shellcpan shell -- CPAN exploration and modules installation (v1.61) ReadLine support available (try 'install Bundle::CPAN')cpan>进入cpan的shell,好了,我为了安装spamassassin,需要安装以下几个install Digest::SHA1 install HTML::Parser install Storable install DB_File install Net::DNS install Net::SMTP install Mail::SPF::Query install IP::Country::Fast install IO::Socket::SSL install Time::HiRes install DBI是不是很方便呀,不用再单独下载编译安装了, 类型字符例子用于哪种名字 标量 $ $cents 一个独立的数值(数字或字串) 数组 @ @large 一列数值,用编号做键字 散列 % %interest 一组数值,用字串做键字 子过程 & &how 一段可以调用的 Perl 代码 类型团 * *struck 所有叫 struck 的东西 手册页内容 perl 有些什么 perl 手册页 perldata 数据类型 perlsyn 语法 perlop 操作符和优先级 perlre 正则表达式 perlvar 预定义变量 perlsub 子过程 prelfunc 内建函数 perlmod 如何令 Perl 模块工作 perlref 参考手册 perlobj 对象 perlipc 进程间通讯 perlrun 如何运行 Perl 命令,以及命令行开关 perldebug 调试

Circos软件安装模块个人见解

CIRCOS软件安装模块个人见解 ——小雨出品首次安装activeperl后运行circos出现各种missing modules,下面是解决办法: (因为circos是perl语言编写的,所以需要依赖于各种perl模块,也就是如何知道自己缺少什么相关的perl模块,并且如何安装他) 1.第一步,在DOS界面下安装cpan(当然啦,得先安装activeperl啦!): DOS界面下输入CPAN系统会自动下载cpan及依赖包,安装好后再输入CPAN就会直接进入CPAN,下面就可以安装circos依赖的perl 模块了.

2.下面我们试着运行circos中的tutorials,这样可以知道我们电脑里是 否能运行circos(当然是不行的啦,因为没有相关的perl模块嘛),然后电脑就会告诉你:”哎呦,你这个运行不了啊,缺少下面的模块!”

(看到missing Math::VecStat了吗?这个Math::VecStat就是其中缺少的一个模块名字,下面就是安装这个模块啦!) 3.既然已经知道了缺少哪些模块,下面开始安装:

进入CPAN下,开始逐一的install缺少的perl模块: 这里是我总结的window7下安装activeperl环境下circos缺少的依赖模块 Font::TTF::Font Config::General SVG Math::Bezier Params::Validate(过程中有4处需要手动输入yes并回车)Math::Round Math::VecStat Regexp::Common Set::IntSpan Statistics::Basic Text::Format

linux常用命令全拼

linux常用命令全拼 命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户 rpm:redhat package manager 红帽子打包管理器 pwd:print work directory 打印当前目录显示出当前工作目录的绝对路径 ps: process status(进程状态,类似于windows的任务管理器) 常用参数:-auxf ps -auxf 显示进程状态 df: disk free其功能是显示磁盘可用空间数目信息及空间结点信息。换句话说,就是报告在任何安装的设备或目录中,还剩多少自由的空间。 rpm:即RedHat Package Management,是RedHat的发明之一 rmdir:Remove Directory(删除目录) rm:Remove(删除目录或文件) cat: concatenate连锁 cat file1file2>>file3把文件1和文件2的内容联合起来放到file3中 insmod: install module,载入模块 ln -s : link -soft 创建一个软链接,相当于创建一个快捷方式 mkdir:Make Directory(创建目录 touch man: Manual pwd:Print working directory

su:Swith user cd:Change directory ls:List files ps:Process Status mkdir:Make directory rmdir:Remove directory mkfs: Make file system fsck:File system check cat: Concatenate uname: Unix name df: Disk free du: Disk usage lsmod: List modules mv: Move file rm: Remove file cp: Copy file ln: Link files fg: Foreground bg: Background chown: Change owner chgrp: Change group

相关文档