perl

perl and LWP 2016-01-02

LWP( Library for Web access in Perl) 能做到什么? 1. 使用URL对远程Web Server读取文件. 2. 对Web Serve利用POST 方式送出form request. 3. 对远程Webserver最近更新的文件作更新动作. 4. 解析HTML 文件,取得其中的「连结」与一些需要的数据. 5. 将HTML转成纯文本文件或Postscript档案. 6. 处理cookies,HTTP redirects, proxy servers, and HT

Per学习笔记3 2015-11-03

Per学习笔记 1.子程序 (1)子程序的定义可以在程序的任意位置,且不需要在定义之前有任何声明. (2)子程序的定义是全局的,可以在子程序中使用全局变量. (3)所有的Perl 子程序都会返回值,在Perl 中返回值和不返回值是没有区别的.当Perl遍历此子程序时,将会计算每一步的值,此子程序中最后计算的值将被返回.注意:不是程序的最后一行. (4)Perl的子程序如果带有参数,会自动将此子程序的参数存到默认数组@_中,第一个参数值为$_[0],其他依次为$_[1]... 调用Perl带有参数

Perl squid监控脚本 2015-11-03

#!/usr/bin/perl -w # # check_squid - Nagios check plugin for testing a Squid proxy # # Christoph Haas ([email protected]) # License: GPL 2 # # V0.2 # use LWP::UserAgent; use HTTP::Request::Common qw(POST GET); use HTTP::Headers; use strict; my

Oracle 10g与安装Perl环境时的冲突以及解决方法 2015-11-02

在安装oracle 10g后,在环境变量中有个perl5lib,设置的为perl的环境变量.此时的perl5lib为oracle中不完整的perl,导致在运行时有错. 可通过如下查看:perl -v/ perl -V perl -V 可看到当前环境下perl的环境变量,是否为你所安装perl的位置. 当此处产生冲突,无法正常使用你所安装的perl时,修改perl5lib的环境变量,有以下两种方法: 1.session级:cmd中设置,即Set Perl5Lib="G:\\Perl\bin\&qu

centOS 解决 perl命令不存在问题 2015-11-02

出现这个问题是因为没有安装php的扩展开发导致的,建议将php以及apache的开发都安装上,使用如下的命令. yum install php-devel php-pear httpd-devel 本文出自 "哎晓" 博客,请务必保留此出处http://anychen.blog.51cto.com/1431599/833410

perl哈希,perl检测存在,perl提取切片,perl while用法 2015-11-02

今天学习了perl的哈希 哈希符号%% #!/usr/bin/perl perl头,如果不能运行则需要换成 #!/usr/bin/perl -w my %ss = ('a' => 1,'b' => 2,'c' => 3,'d' => 4); 哈希数a对应1.b对应2.c对应3.d对应4 也可写成 my %ss = ('a',1,'b',2,'c',3,'d',4); 键必须用单引号或双引号括起 print(join(',',%ss),"\n"); 打印出哈希为

Perl iostat 监测脚本 2015-11-02

VERSION="1.4.5" IOSTAT=/usr/bin/iostat GREP=/bin/grep AWK=/usr/bin/awk TAIL=/usr/bin/tail FLAG_VERBOSE=FALSE FLAG_TPS=FALSE FLAG_READS=FALSE FLAG_WRITES=FALSE FLAG_READWRITES=FALSE TMP="/var/tmp/iostat.`date +'%s'`" COUNT=2 LEVEL_WARN=

用Perl统计一组数字中最大的N个 2015-11-02




    		    用Perl统计一组数字中最大的N个
简单的一个小脚本,用Perl来统计一堆输入数字中最大的N个,N可任意指定.这是本人学习Perl道路上练习用的小程序,各位大神不要鄙视 my $k = $ARGV[1]; my $input = $ARGV[0]; open INPUT,$input; while(<INPUT>){ my $line = $_; my @fields = split /,/,$lin ...

perl中if判断的困惑 2015-11-02

今天对学习了perl的if判断结构,弄懂了以下问题: 1,if判断与操作语句放在一行,意思是if为操作语句的修饰符. 比如: print "$_" if ($_); 同样是对$_进行逻辑判断,如果为真,则打印$_. 2,如下语句: if (<STDIN>){ print; } 按if的逻辑判断规则,如果我输入了0,那么不应该打印任何内容,输入其他任意字符,都应该打印出来.可是无论我输入什么内容,都会被打印出来,包括只输入一个字符0. 后来发现真正的原因是,当你输入0,然后按

perl中使用s命令。 2015-11-02

若干条记录,如下所示. BGM001..... NADabcd.... SG001uiqt... SG17001+09999... SG17002+1256.... SG7xxxxxxx.... UNT20071217 其中BGM.NAD.SG001.SG17001.SG17002.SG7.UNT是RecordType.现在要求对于每条记录返回其RecordType.该问题麻烦在RecordType的长度不确定,无法通过$RecordType=substr($_,0,$length)来获得.假设

perl筛选wvs批量扫描结果 2015-11-01

之前用wvs_console进行批量扫描生成了大量html报告,下面写了一个perl脚本来帅选出有高危漏洞的站点. #!/usr/bin/perl -w use strict; use warnings; use Cwd; use File::Copy; my $dir = getcwd(); my $dstdir = "/lab/report/xss/"; my $count = 0; opendir(D,$dir) or die "Cannot open dir: $!&

perl数组,perl if语句 2015-11-01

my @ss = ("a","b","c","d"); print $ss[1] 显示为a print @ss[1,3] 显示为a c @ss的标量为4 if (@ss < 5) { command } else { command } if($date == $today) { command; } elseif($date == $christmas) { command; } else { command; } p

perl mail 2015-10-31

#!/usr/bin/perl -w # usage : sendhtml.pl subject To_User html_file my $sendmail = "/usr/sbin/sendmail"; my $fromuser = "FROM: admin\@mail.com\n"; $subject = "Subject: $ARGV[0]\n"; $touser = "TO: $ARGV[1]\n"; $htmlfi

perl 2.1.2 练习 2015-10-31

1.写一个程序,计算半径为12.5的圆的周长. 圆周长为2pi*半径 $radius = 12.5; $perimeter = $radius*2*3.141592654; print "perimeter is $perimeter"; 2.修改上述程序,用户可以在程序运行时输入半径,如果用户 输入12.5,那么结果就和上题一样. $radius = <STDIN>; $perimeter = $radius*2*3.141592654; print "peri

perl first day 2015-10-31

perl 做为就像胶水一样,将各种语言都黏贴在一起 它轻巧方便,非常适合写小型的脚本(我暂时也没有写超过1000行的perl代码 我最欣赏的是它强大的正则运算能力,尤其其中的"捕获"操作,实在是太厉害了! 基于以上的特点,我认为perl非常适用于: 1. 文本处理 --> 强大的正则表达式 2. 各系统间的粘合 --> 胶水语言 对于正则表达式,网上已经有很多教程了,我例举几个我自己的practice: 1. open (my $in, "./template.t

Perll列表操作符 2015-10-31

下面的代码的输出会是什么? my @array=(1,2,3,4,5,10); print @array; 是不是返回数组元素的个数?答案是打印出数组的所有元素. 很奇怪是不是?其实,我们平时在用的时候,不太注意,perl里分标量操作符和列表操作符,而print就是一个列表操作符,所以打印的是数组的所有的元素(我的理解). 再看看下面的输出: my @array=(1,2,3,4,5,10); print $array."\n"; 是不是感觉有些神奇,我也在神奇当中......! 下面

Spreadsheet::Read的简单使用 2015-10-31

该模块不能单独使用,需要结合一些模块来使用,在cpan里的描述是这样的. 这里需要使用这个模块来读取excel的文件,由于是xlsx格式的,所以,还得需要预先安装Spreadsheet::XLSX这个模块.代码如下: #!/usr/bin/perl -w use strict; use warnings; use Data::Dumper; use Spreadsheet::Read; use Spreadsheet::XLSX; #读取文件 my $book = ReadData ("./ho

Binary tree for perl 2015-10-31

#!/usr/bin/perl -w # bintree - binary tree demo program use strict; my ( $root, $n ); # first generate 20 random inserts while ( $n++ < 20 ) { insert ( $root, int ( rand ( 1000 ) ) } # now dump out the tree all three ways print "Pre order: ";

openssl的vs/vc工程配置与make 2015-10-31

openssl在windows上的编译方式很多人都了解,然而很多人因为习惯于windows的ide又很想知道如何在vs2005之类的ide中点击"生成"菜单项编译openssl,然后点击上面的那个绿色的小箭头调试或者单步跟踪,那是一件多么轻松的事情啊,要比在命令行上运行perl ... &ms/do_ms&nmke...轻松多了,遗憾的是,由于vs的ide和命令行的makefile并不是一个级别的,因此做这件事很不容易,或者说即使可做的话,你必须首先用perl...nm

用perl 实现 svn 差异备份 2015-10-30

一直以来是用rsync来备份svn,最近恢复了一个2009年的SVN的备份.突然想还是用svnadmin dump 备份出来比较方便(这也是官方推崇备份方式,恢复起来有点慢),好管理.决定用perl 来实现(因为最近在学习perl): 备份的思路就是首先读取一个项目,然后全备,并且把版本写入到一个文件,差异备份脚本备份时读取这个文件的中的版本号,如果版本号不同,则备份. 全备份脚本: svn_full_backup.pl #!/usr/bin/perl -w use POSIX qw(strft
一周排行