# perl学习笔记

perl dancer + net::ssh2监控服务器性能

    最近一直在看dancer,发现真心好用,之前在看mojo,搞了好久没有搞懂.只能怪自己太挫了.作为练手就写了一套简易的监控系统,主要是利用net::ssh2模块监控AIX服务器的CPU,IO负载,还有磁盘空间.当然如果你是linux/unix作为监控服务器简易使用net::ssh:perl 或者使用SNMP来获取服务器信息.在lib下添加login.pmpackage&

原创 点赞0 阅读1287 收藏0 评论0 2014-06-04

perl anyevent socket监控web日志server

上篇已经讲过client端的CODE这部分code主要用来接收client端发送来的日志,从数据库中读取reglar然后去匹配.如果出现匹配则判断为XSS***.server端的SOCKET接收用了coro相关的模块.配置文件仿照前一篇博客读取即可.#!/usr/bin/perl use warnings; use strict; use AnyEvent; use AnyEvent::DBI::M

原创 推荐 点赞1 阅读1546 收藏0 评论2 2014-02-24

perl anyevent socket监控web日志client

此脚本为client端的code,主要实现读取日志中的一些关键词进行过滤,以下介绍几个模块的用途:File::Tail  用于读取日志,功能类似于linux中tail ,只读取最新的日志AnyEvent  处理异步事件AnyEvent::Socket  建立socket连接AnyEvent::Handle  处理Socket中的句柄Config::Tiny

原创 点赞0 阅读1468 收藏0 评论0 2014-02-24

perl 正则匹配嵌套结构

有这么一道题。。 aaa  bbb  #if defined(__MMI_DEL__)     ccc  #endif  ddd  eee  #if defined(__MMI_DEL__)     fff   &nb

原创 点赞1 阅读4035 收藏0 评论0 2013-03-14

一道关于停车计费的问题

程序允许30分钟,期间要求用户输入来模拟车辆进入、出去的行为 输入的内容为一串字符串,每个不同的字符串代表一辆车. 纪录所有车每次进出的时间,计算时间、次数和价格. 价格依照价格表,阶梯定价:头10分钟5元,超过10分钟的每分钟5元 程序运行30分钟自动退出,程序退出前还没出库的车,收费200元 程序最后统计所有车辆的情况:次数,每次时间,总时间,总价 code: #

原创 推荐 点赞2 阅读1114 收藏0 评论1 2013-03-11

利用perl计算考勤表并且输出excel表格

 需要处理的excel的格式如下   转换器代码如下(防止中文乱码)(作者为:flw):   package MyExcelFormatter; use strict; use warnings; use base qw(Spreadsheet::ParseExcel::Fmt

原创 点赞3 阅读2752 收藏0 评论1 2013-03-01

perl 合并多个文件一例

  这个问题是cu上有人提出的,感觉具有代表性,特地记录一下 比如a 文件 内容如下 a=11  b=http://www.baidu.com/baicd   c=xxx/baidu.apk a=12  b=http://www.sina.com/xxx  c=xxx/sina.apk a=13&n

原创 点赞0 阅读2414 收藏0 评论0 2013-01-08

perl selenium操控浏览器填写表单完成自动化测试

很多时候在做测试的人员需要去测试开发人员的新项目,传统的操作是打开浏览器点击各个地方看操作是否流畅,是否会报BUG。每天都会重复的操作,我想不管是谁都不喜欢做这些重复的事情吧。这时候如果有一个软件能够自动化完成重复性的操作,节约了大量的人力物力。这次就来说说关于selenium的那些事,第一次直接把效果展现给大家,这样就会有学习的兴趣。 一、下载所需要的软件 这里说一下,我所在的平台是win。

原创 点赞4 阅读2598 收藏0 评论4 2012-12-25

利用perl rrdtool绘制网络流量图

    一直很想了解nagios中的pnp是如何工作的,正好看到这几天cu上有人问rrdtool如何图像。这几天特地的翻了翻rrd的资料,补习了下。结合perl的一些模块,获取所需要的数据,最后调用rrdtools绘制图像。好了,废话不多说了,开始讲解实现过程。 一、 所需软件以及安装方法     1.安装rrdtool (这里不多说了,网上文章太多了)

原创 点赞2 阅读2059 收藏0 评论3 2012-12-17

perl计算IP所在的子网范围

  自定义的子网范围如下: 192.168.0.0/16 219.111.192.0/18 68.132.0.0/17 61.135.0.0/16 192.162.0.0/16 152.172.0.0/16 34.132.0.0/14 97.208.0.0/13 有以下几个IP:192.168.1.5 219.111.193.1 219.111.1.2,要求计算

原创 点赞1 阅读1124 收藏0 评论1 2012-12-12

利用perl监控文件状态

作为运维来监控文件的状态可以扩展很多个方面,例如rsync增量备份,监控服务器是否被******等等。所以说监控文件的状态至关重要。根据这几天的工作的需求特别写了一个Perl脚本,有什么方面没有考虑到的希望大家多多指出。 需要安装的模块: File::Monitor File::Find::Rule 安装方法: win下(需要有perl环境,我这里装的是activeperl) cmd下进入

原创 推荐 点赞3 阅读4848 收藏0 评论3 2012-12-06

求两个字符串最大公共字符串(听说是微软几年前面试题)

两个字符串的最大公共子串,是一个程序员们常常考到和想到的题目,听讲是当年微软面试时要求做的一个程序,写一个返回两个任意字串中最大公共串的函数,即abcdef 和 qcfbcc 返回值为bc   注:你要考虑到字符串中最大公共串相等的问题。 例如 dddabd123456abcdefeeeee 234dddabcdegeeee   输出: dddab abc

原创 点赞2 阅读1042 收藏0 评论2 2012-11-26

匹配html input img标签中的value name位置不固定

  需要匹配文本如下: 要求alt标签不为hello,不能与src中后面的图片名相同,不能为汉字 <img src="en/p_w_picpaths/main_page/cover.jpg" alt="hello" />   <img src="en/p_w_picpaths/main_page

原创 点赞1 阅读1063 收藏0 评论1 2012-11-23

perl中tr的研究

perl中有三种模式  m// ,s///,tr///; 前两种就不多说了,经常出现。这里说下tr: 很多人用习惯了s///,发现和tr有很多相同的地方,都是将字符串替换成自己想要的内容。 tr的重要作用在于“转换”.   例如: 大小写转化: $str = "Hello World"; $str =~ tr/a-zA-Z/A-Za-z/;  

原创 点赞1 阅读7052 收藏0 评论0 2012-11-01

perl远程执行多台服务器shell命令

  在生成环境中通常运维需要执行非常多的重复命令,一台可能还好 多台就杯具了。尤其有时候要批量去更新多台服务器的文件,或者是删除。    一个好运维都是懒惰的,所以自己写了个perl脚本可以远程去执行shell命令,很灵活。2个配置文件,一个管理服务器信息,一个放所需要执行的命令。 code: #!/usr/bin/perl use strict; use

原创 点赞3 阅读3553 收藏0 评论8 2012-09-12

perl 利用Net::SSH::Expect模块批量修改服务器密码

如果以下脚本可以批量修改服务器的密码,并且导出随机生成的密码 首先需要安装Net::SSH::Expect 安装方法: #cpan cpan>install Net::SSH::Expect 然后一路回车#!/usr/bin/perluse strict;use warnings;use Net::SSH::Expect;my @ssh_list;my @array_li

原创 推荐 点赞4 阅读1722 收藏0 评论3 2012-07-12

利用squidclient清理nginx多台缓存服务器cgi程序

此cgi脚本用perl写的,用于清理多台nginx缓存服务器。使用方法:将此脚本放在能够执行cgi程序的web服务器上。打开浏览器访问此脚本,输入需要清理缓存的CSS或者是图片地址,如果要清理多个缓存,请一行输入一个地址即可。code:#!/usr/bin/perluse strict;use warnings;use CGI;my $req = new CGI;print $req->he

原创 推荐 点赞1 阅读1046 收藏0 评论6 2012-06-27

perl中替换文本一例

由于工作需要,需要批量建立网站,修改配置文件。开始时用sed去批量修改的,最后改装成perl了。 #!/usr/bin/perl while(<>){ chomp; @line=split(/\s+/,$_); open FH,"< /home/test/$line[0]/wp-config.php"; my @webfile; while(<FH>){ &

原创 点赞1 阅读1082 收藏0 评论0 2011-03-22

perl批量建站脚本

本脚本适用于apache的配置文件,进行批量建站。 #!/usr/bin/perl while(<>){                 chomp;       

原创 点赞0 阅读720 收藏0 评论0 2011-03-18

perl笔记之ping批量检查IP是否连通

由于有时候要批量的用ping检查服务器的IP是否可用,一个一个的ping太麻烦了,所以利用perl中的Net::ping模块,代码如下use warnings;open AA,"ip"; use Net::Ping;chomp(@ARGV=<AA>);foreach $host (@ARGV){ $p = Net::Ping->new("icmp");# print "$host

原创 点赞0 阅读1489 收藏0 评论0 2011-03-04

perl笔记之DBI操纵数据库

perl中的DBI(数据库接口,Database Interface)是个对数据库操纵很强大的东西,这次正好工作中用到了他的一点皮毛所以做个记录。 具体情况就是插入多条记录 #!/usr/bin/perl use DBI; open AA,"c1"; my $dbname="sverlog"; my $location="localhost"; my $port="3306"; my $d

原创 点赞0 阅读713 收藏0 评论0 2011-02-17

perl笔记之排序

有如下三组代码用大小进行排序 17 1000 04 1.50 3.14159 -10 1.5 4 2001 90210 666 9 0 2 1 0 2001 42 -40 98.6 2.71828 传统的sort排序只能按照ascii排序 不能按照数字的大小进行排序 用如下代码进行排序 #!/usr/bin/perl while (<>) { push @numbe

原创 点赞1 阅读606 收藏0 评论0 2011-02-15

perl中打印随机数

打印出1-100之间的随机数,并且让用户输入,输入正确了退出,失败继续输入。当输入exit,quit,空行的时候打印出随机数字并且退出。 #!/usr/bin/perl my $rand = int (1+ rand 100); #print "this is $rand";     #调试程序 while (1) {   

原创 点赞1 阅读711 收藏0 评论0 2011-01-25

perl,shell中如何打印出处理sql语句变量的单引号

今天早上有个小问题难住了,在sql中的insert语句中需要打印单引号。 awk '{print    "insert into webconfig (domain,webdir) values("$1","$2")"";"}' 因为需要打印出$1,$2变量而且需要单引号,试了很多种方法都不行,转义,双引号都已过了,都是不能输出。 最后参悟了一句话

原创 点赞0 阅读3528 收藏0 评论0 2011-01-24

perl 匹配某行后添加字符串

在所有文件的第一行后添加一行注释,例如: #!/usr/bin/perl ..... .... 在其后面添加添加一行## Copyright (c) 2011 by mcshell 效果如下 #!/usr/bin/perl ## Copyright (c) 2011 by mcshell ... ... 完成代码如下 #!/usr/bin/perl ## Copyright

原创 点赞0 阅读4717 收藏0 评论0 2011-01-20

利用perl提取web配置文件中的域名对应的路径

server                 {                &nb

原创 点赞1 阅读829 收藏0 评论0 2011-01-18

perl中的hash练习笔记

这道练习题是小骆驼中hash中的一道,感觉很有代表性。       读取一些单词,每行一个直到文件结束,然后出每个单词出现的次数。 有两种方法可以完成它,如下 第一种方法 #!/usr/bin/perl -w print "Enter words:" chomp(@k=<>); foreach $k (@k) {  

原创 点赞2 阅读1173 收藏0 评论3 2011-01-16

perl引用中的闭包closure

perl中的引用相当于指针,其中闭包closure实现迭代,类似数据库游标取出一行行记录。#!/usr/bin/perlsub number_printer {                my ($input)  &

原创 点赞0 阅读464 收藏0 评论0 2011-01-12

用perl过滤文本中的IP和端口

 1.可以提取html,等无规律的文本中的ip和端口。 cat proxycn.txt  |perl -lne ' print $1 if ( /((\d{1,3}\.){3}\d{1,3}:\d{1,5})/ ) '  2.提取log中的被访问网址的次数

原创 点赞0 阅读796 收藏0 评论0 2010-09-14

正则表达式学习实例1

将文本中的MAIL和HTTP URL转化为链接形式        $hostnameregex = qr/[-a-z0-9]+(\.[-a-z0-9]+)*\.(com|cn|info)/i;#设置其中匹配URL的文本变量 chomp($text=<STDIN>);#接收用户输入的一行文本,并且去掉$text尾行的换

原创 点赞0 阅读354 收藏0 评论0 2010-07-13